为什么这个解决到30应该是28?

时间:2014-09-14 20:14:22

标签: python if-statement

我知道这是非常简陋的,但我是编程的新手,这让我感觉很紧张。

有人可以告诉我为什么会得到" 30"而不是" 28"作为答案?

def days_in_month(month):
    if month == 4 or 6 or 9 or 11:
        return 30
    else:
        if month == 2:
            return 28
    else:
        return 31

print(days_in_month(2))

1 个答案:

答案 0 :(得分:2)

以下内容不太正确(它在语法上有效,但不按预期执行):

if month == 4 or 6 or 9 or 11:

将其更改为:

if month in {4, 6, 9, 11}:

此外,您的热门if语句有两个else子句。这不是有效的语法。我建议您查看tutorial以了解if声明。