Skip to main content
 首页 » 编程设计

python之如何重新循环程序回到开头

2025年05月04日13qq78292959

我如何重新循环此程序以再次询问用户更多输入?我很困惑,因为如果我使用 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 
    ...