我有一个 while 循环调用三个函数。这三个函数按预期工作,最后它要求用户输入。如果用户输入是“n”,则循环应该结束,但无论我输入什么,它都会继续。
这是我的代码:
yn = ""
while (yn.lower != "n"):
usr_choice = userChoice()
com_choice = compChoice()
winner(usr_choice, com_choice)
yn = input("Would you like to continue? y/n: ")
我已经尝试以各种方式格式化 while 循环,并确保无论其位置如何,都没有匹配的变量名称,但我仍然无法通过键入 n 或 N 来结束循环。如果可能的话,我希望 while 循环以要么 n 要么不,但首先我需要让它工作。
问题是你实际上并没有调用
yn.lower
方法,你只是将函数对象与字符串进行比较 "n"
yn = ""
while (yn.lower() != "n"): # <<---- See yn.lower VS yn.lower()
usr_choice = userChoice()
com_choice = compChoice()
winner(usr_choice, com_choice)
yn = input("Would you like to continue? y/n: ")