python如果语句总是
作者:互联网
参见英文答案 > Else, elif, if problems in Python 2个
因此,我正在用Python构建一个简单的游戏,以便更熟悉该语言,并且无法找到一种搜索方式,如果之前有人问过这个问题. :P任何方式,当这个代码块执行时,我总是最终得到我的“位置”是.y 10.我已经重新安排并检查了几件事,但觉得我错过了我想要的一个非常基本的部分通常使用switch语句处理
mv = input('N,S,E,W?')
if mv == 'N' or 'n':
Me.Position.Y += 10
elif mv == 'E' or 'e':
Me.Position.X += 10
elif mv == 'W' or 'w':
Me.Position.X -= 10
elif mv == 'S' or 's':
Me.Position.Y -= 10
else:
print('Stand')
然后:
print('Lage: X:', Me.Position.X, ' Y:', Me.Position.Y, ' Z:', Me.Position.Z)
我没有办法使用其他选项.
谢谢!
解决方法:
问题是或在你的if语句中:
即使mv ==’N’的计算结果为False,非空字符串’n’的计算结果为True,这样mv ==’N’或’n’始终为True.
你想要的是:
if mv in ['n', 'N']:
Me.Position.Y += 10
甚至只是:
if mv in 'nN':
Me.Position.Y += 10
标签:python,eclipse,windows,tkinter,python-3-3 来源: https://codeday.me/bug/20190712/1444029.html