我的 Python 代码在缩进和语法方面遇到问题

问题描述 投票:0回答:1

它没有按预期工作 它应该做的是询问一个人是否喜欢进击的泰坦如果是,那么它会询问动漫中的角色名称,并且我分别为eren,mikasa和levi选择了不同的代码行用户 但只有在将值分配给chara变量之后的第一个if,但是当我将第6行的代码更改为

if chara == "Eren" or chara == "eren"

然后它可以工作到mikasa部分,但仍然不起作用

我很乐意回答您对这篇文章的任何疑问,感谢您花宝贵的时间阅读本文

First pic of the code

Second pic of the code

Third and last pic of the code

附注 如果我的问题不清楚,我真的很抱歉,相信我,我已尽力,因为这是我在这个平台上的第一个实际问题。就像我真的在弄清楚这个文本编辑器顶部的按钮是做什么的,因为我正在纠正这个问题,所以请模组不要删除或关闭这个问题,我检查了很多帖子,但找不到答案

python if-statement syntax indentation
1个回答
0
投票

问题在于线条

elif chara == "Miakas" or "Mikasa":
# ...
elif chara == "Levi" or "levi":

这并没有达到您期望的效果。如果

chara == "Miakas"
False
,则评估该表达式的第二部分是否真实。第二部分是
Mikasa
,这是一些东西,所以它是真实的。换句话说,表达式
chara == "Miakas" or "Mikasa"
永远不可能是
False
,因此
elif
中的缩进块将被 always 执行。

重写它来阅读

elif chara == "Miakas" or chara == "Mikasa":

elif chara in ["Miakas", "Mikasa"]:

避免这个陷阱。

© www.soinside.com 2019 - 2024. All rights reserved.