标签:python eclipse windows tkinter python-3-3
参见英文答案 > 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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。