Python 对于if-else语句,应该显示else,而不是if。我不知道为什么

Python 对于if-else语句,应该显示else,而不是if。我不知道为什么,python,Python,当我输入3时,它应该显示“你是一个好奇的人”,但它会显示“你是一个乐观的人”。这是为什么 eyeList = ["blue", "brown","green","hazel","grey","none"] print(eyeList) eyecolor = int(input("Pick your eye color: ")) if eyecolor == 1 or 2: print("you are a optimistic person") else: print("y

当我输入3时,它应该显示“你是一个好奇的人”,但它会显示“你是一个乐观的人”。这是为什么

eyeList = ["blue", "brown","green","hazel","grey","none"]

print(eyeList)

eyecolor = int(input("Pick your eye color: "))

if eyecolor == 1 or 2:

  print("you are a  optimistic person")

else:

  print("you are a curious person")

python中的
运算符将用作两个表达式(即
expr1或expr2
)之间的逻辑
,当其中一个或两个表达式都为真时,该运算符将为真

在本例中,您使用
eyecolor==1
作为expr1,使用
2
作为expr2。使用此方法,条件将始终计算为true,因为
2
将始终计算为true

我想你要找的是

if (eyecolor == 1) or (eyecolor == 2):
你应该使用
如果eyecolor==1或eyecolor==2
eyecolor==(1或2)
。由于使用的是不带括号的if语句,Python将分别解释这两个if语句
eyecolor==1
为假,但
2
这是一个int,它的计算结果总是为真。

我认为他在(1,2)中查找
如果eyecolor: