While循环不会结束

问题描述 投票:0回答:1

我有一个 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 要么不,但首先我需要让它工作。

python python-3.x function while-loop
1个回答
0
投票

问题是你实际上并没有调用

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: ")
© www.soinside.com 2019 - 2024. All rights reserved.