在 if 语句中使用或 (Python)

Using or in if statement (Python)

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

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

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

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

weather in ("Good!", "Great!"): 

你写的内容被解析为

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

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