【发布时间】:2021-02-02 10:21:24
【问题描述】:
不工作
def player_input():
marker = ''
while 'X' or 'O' not in marker:
marker = input("Choose between 'X' or 'O': ")
print ("Please choose between 'X' or 'O'")
if marker == 'X':
return ('X', 'O')
else:
return ('O', 'X')
工作代码
def player_input():
marker = ''
while not (marker == 'X' or marker == 'O'):
marker = input("Choose between 'X' or 'O': ")
print ("Please choose between 'X' or 'O'")
if marker == 'X':
return ('X', 'O')
else:
return ('O', 'X')
我都跑了,但循环并没有先停止。两者有什么区别?
【问题讨论】:
-
你是第一个
while循环被视为while ('X') or ('O' not in number):。由于'X'的计算结果为 True,因此循环将永远运行。 -
在 "while 'X' or ..." 中,'X' 已经被解释为真,因此无论“or”后面的内容如何,整个条件都是真的。
-
没有@jasonharper
-
谢谢@Matthias 我明白了:)
标签: python python-3.x python-2.7 while-loop python-requests