【发布时间】:2018-02-24 05:44:51
【问题描述】:
y=''
print 'y= nothing'
y = raw_input('-->')
while y!='O' or y!='X':
print 'You have to choose either X or O'
y = raw_input('-->')
print 'Loop exited'
print y
谁能解释一下为什么上面的代码在python中不能正常运行?
我假设任何时候用户输入除“X”或“O”以外的内容时,他都会收到消息和输入提示。但只要用户提供“X”或“O”,循环就应该退出。但它没有......你们能帮忙吗?我是python新手...
【问题讨论】:
-
在你的 while 循环中使用
and而不是or。 -
你的条件和
not (y=='O' and y=='X')一样,y不能等于两个不同的字符。所以y=='O' and y=='X'总是False,然后not (y=='O' and y=='X')总是True。我想你想要的是y!='O' and y!='X'。 -
@Serjik 逻辑与作者想要的不一样。我认为当
y等于'O'或'X'时,OP 想要不进入循环。 -
@Jerrybibo 没错,你明白了!)))对不起,如果我的解释不是那么清楚。如果 Y = X 或 Y = O,我不想进入循环。
标签: python while-loop boolean