我只是在学习Python,这是我第一次尝试学习编程语言。我已经学到了足够多来编写一个程序(非常非常简单的pygLatin翻译器(我想不出任何笨蛋,然后开始和用hehe挑战自己))但是我在调用if语句中的函数时遇到了问题。 / p>
这就是我所拥有的:
def input_state():
sentence = input("enter a word to be translated: ")
list = sentence.split()
for i in list:
trans_one_word(i)
new_list.append(another_word)
s = " "
print (s.join( new_list ))
input_state()
another = input("Would you like to enter another sentence to be translated? \n Y/N")
if (another == y) or (another == Y):
input_state()
else:
input = ("Press any key to exit")
我希望y或Y调用input_state()函数,以便能够输入另一个句子和任何其他键来退出。我提出了一个问题:
another = input("Would you like to enter another sentence to be translated? \n Y/N")
但无论击中什么键,它仍然会结束程序,而不是重新启动它。
答案 0 :(得分:0)
当您在Python中调用函数时,程序将执行该函数,然后在调用函数的位置恢复其进度。在你的情况下,调用input_state()
不会“循环”,它只调用一次,然后转到下一行,这是程序的结束。您希望使用while
循环,每次都检查它是否应该运行。另外,请使用if another.lower() == 'y'
代替if (another == y) or (another == Y)
。