首页 > 解决方案 > Python:运行一个程序来反转任何给定单词的顺序

问题描述

我正在尝试在 Python 中创建一个程序,它接受任何输入的单词并反转顺序,并以相反的顺序打印单词。但我没有得到想要的结果。这是我正在使用的代码:

myString = input("Enter any String: ")
length = len(myString)-1
reverse = []
i = 0
while length>=0:
    reverse.append(myString[length])
    length -=1

while length<0:
    break
print(reverse)
reverseString = ''
j = 0
while j<=length:
    reverseString +=reverse[j]
    j+=1
while j> length:
    break
print(reverseString)

在输出中,我只看到这个:

Enter any String: De Costa
['a', 't', 's', 'o', 'C', ' ', 'e', 'D']

而不是预期的:' atsoC eD '

我哪里错了?

标签: pythonloops

解决方案


这是因为您的长度变量变为 0,因为您在第一个循环中将其递减,因此 reverseString 的循环永远不会运行,因此 reverseString 始终具有值 '',您必须重新初始化长度变量以便循环运行。为此,请在length = len(myString)-1下面 添加reverseString = ''

或者简单地说,这个

myString = input("Enter any String: ")
length = len(myString)-1
reverse = []
i = 0

while length>=0:
    reverse.append(myString[length])
    length -=1

while length<0:
    break
print(reverse)

reverseString = ''
length = len(myString)-1

j = 0
while j<=length:
    reverseString +=reverse[j]
    j+=1
while j> length:
    break
print(reverseString)

推荐阅读