我如何重新循环此程序以再次询问用户更多输入?我很困惑,因为如果我使用 while True: 循环,它只会打印出一大堆用户输入。
userinput = str(input("enter a sentence: \n"))
def reverseinputs(x):
string = []
result = x.split(' ')
string += reversed(result)
print (' '.join(string))
reverseinputs(userinput)
请您参考如下方法:
def reverseinputs(x):
...
是一个定义,因此不执行任何操作(好吧,通常)并且可以安全地被排除在循环之外。
您似乎想要反复要求用户输入,然后使用 reverseinputs() 进行处理。该任务由第一行实现:
userinput = str(input("enter a sentence: \n"))
最后一行:
reverseinputs(userinput)
将它们放在 while(True) 循环中应该会产生所需的结果:
def reverseinputs(x):
string = []
result = x.split(' ')
string += reversed(result)
print (' '.join(string))
while(True):
userinput = str(input("enter a sentence: \n"))
reverseinputs(userinput)
您的问题似乎是因为将 userinput 误解为一个函数,每次引用它时都会(使用正确的语法)执行,每次都给出一个新的输入,而不是作为一个函数变量,它简单地给出最后分配的任何值(在这种情况下,第一个用户输入)。
旁注:正如@diligar 在评论中指出的那样,为用户提供一些摆脱无限循环的方法始终是个好主意。这样的事情应该有效:
while(True):
userinput = str(input("enter a sentence: \n"))
if userinput == "": break
...
