编程语言
首页 > 编程语言> > python如果语句总是

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