Python函数打印无

时间:2010-10-18 16:18:21

标签: python function return-value

我有以下练习:

  

参数weekday如果是,则为True   一个工作日,参数休假   如果我们在度假,那是真的。我们   如果它不是工作日或者睡觉的话   我们在度假。如果我们返回True   睡觉。

这是我所做的,但第二个打印功能只打印'None'

def sleep_in(weekday, vacation):
    if(not weekday or vacation):
        return True

print(sleep_in(False, False))
print(sleep_in(True, False))
print(sleep_in(False, True))

输出:

True
None
True

1 个答案:

答案 0 :(得分:5)

python中的函数返回None,除非明确指示不这样做。

在上面的函数中,您没有考虑工作日为True的情况。解释器到达函数的末尾而不读取return语句(因为预定的条件评估为False),并返回None

修改

def sleep_in(weekday, vacation):
    return (not weekday or vacation)

你去=)