在if语句中使用或(Python)

在if语句中使用或(Python),python,if-statement,conditional,Python,If Statement,Conditional,我只是在写一个简单的if语句。第二行仅在用户键入“Good!”时计算为true 如果键入“Great!”,它将执行else语句。我可以不使用或像这样吗?我需要逻辑的还是逻辑的 weather = input("How's the weather? ") if weather == "Good!" or "Great!": print("Glad to hear!") else: print("That's too bad!") 你不能那样使用它。或运算符必须有两个布

我只是在写一个简单的if语句。第二行仅在用户键入“Good!”时计算为true 如果键入“Great!”,它将执行else语句。我可以不使用或像这样吗?我需要逻辑的还是逻辑的

    weather = input("How's the weather? ")
if weather == "Good!" or "Great!": 
    print("Glad to hear!")
else: 
    print("That's too bad!")

你不能那样使用它。
运算符必须有两个布尔操作数。您有一个布尔值和一个字符串。你可以写

weather == "Good!" or weather == "Great!": 

您所写的内容被解析为

(weather == "Good") or ("Great")

在python中,非空字符串的计算结果总是
True
,因此此条件始终为True。

您不能这样使用它。
运算符必须有两个布尔操作数。您有一个布尔值和一个字符串。你可以写

weather == "Good!" or weather == "Great!": 

您所写的内容被解析为

(weather == "Good") or ("Great")

在python的情况下,非空字符串的计算结果总是
True
,因此此条件将始终为True。

这不符合您的意愿。试着做
如果天气在['Good!','Great!']
或'if weather=='Good!'或者天气==“太好了!”那不会做你想做的。试着做
如果天气在['Good!','Great!']
或'if weather=='Good!'或者天气==“太好了!”非常确定问题中的
“Great!”
字符串将被评估为
True
,而不是exception@PerlPingu你说得对。我在考虑操作符,但忘了它在python中是这样工作的。编辑…感谢您的帮助。为什么我在这个问题上得了-1分?我显然是新手,但我认为这是一个合理的问题。我没有看到专门为蟒蛇哈设计的复制品,你显然是新来的。你可以在这里被否决任何事情-1还不错,我的一些人在几秒钟内得到了5-6次否决票……”“or运算符必须有两个布尔操作数”是不正确的:
(“hello”或“world”)=“hello”
(1或0)==1
运算符可以应用于任意两个对象。非常确定问题中的
“Great!”
字符串将被评估为
True
,而不是exception@PerlPingu你说得对。我在考虑操作符,但忘了它在python中是这样工作的。编辑…感谢您的帮助。为什么我在这个问题上得了-1分?我显然是新手,但我认为这是一个合理的问题。我没有看到专门为蟒蛇哈设计的复制品,你显然是新来的。你可以在这里被否决任何事情-1还不错,我的一些人在几秒钟内得到了5-6次否决票……”“or运算符必须有两个布尔操作数”是不正确的:
(“hello”或“world”)=“hello”
(1或0)==1
运算符可应用于任意两个对象。