变量更改时Python While循环不结束
当var[5]从“”更改为“左”或“右”时,while循环不会停止变量更改时Python While循环不结束,python,loops,python-3.x,while-loop,Python,Loops,Python 3.x,While Loop,当var[5]从“”更改为“左”或“右”时,while循环不会停止 我知道你说你的变量在变化,但在哪里 两件事:你必须改变你正在检查的变量,你必须改变条件测试,当变量var[5]不同于“left”或“right”时,循环条件为True(如果它是“left”,那么它不同于“right”,因此循环将继续) 所以 我看不出您在哪里更改var[5]。如果您认为vari=input(…)更改了var的内容,您可能误解了列表分配的语法。哎呀,刚刚意识到我忘了用var[5]替换vari,我将var[5]更改为
我知道你说你的变量在变化,但在哪里 两件事:你必须改变你正在检查的变量,你必须改变条件测试,当变量
var[5]
不同于“left”或“right”时,循环条件为True
(如果它是“left”,那么它不同于“right”,因此循环将继续)
所以
我看不出您在哪里更改
var[5]
。如果您认为vari=input(…)
更改了var
的内容,您可能误解了列表分配的语法。哎呀,刚刚意识到我忘了用var[5]替换vari,我将var[5]更改为一个变量,以检查是否是数组出现故障-(您的原始代码是否使用var[5]
而不是vari
“正确”?
#Variable Input
name = input("Enter your name: ")
place = input("Enter where you live: ")
sex = input("Are you a boy (Y/N): ")
scaryanimal = input("Enter the type of animal that you are most scared of: ")
happyanimal = input("Enter your favourite type of animal: ")
var=[name,place,sex,scaryanimal,happyanimal,""]
#Main story
#Other code goes here
#Offending While loop
while var[5].lower() != "left" or var[5].lower() != "right":
var[5] = input("Did he go left or right: ")
print(var[5])
while var[5].lower() != "left" and var[5].lower() != "right":
var[5] = input("Did he go left or right: ")
print(var[5])