为什么 python 中的函数不 return false
Why doesn't functions doesn't return false in python
def sleep_in(weekday, vacation):
if weekday == ['monday', 'tuesday', 'wednesday', 'thursday', 'friday'] and vacation == 'Yes':
return True
elif weekday != ['monday', 'tuesday', 'wednesday', 'thursday', 'friday'] or vacation == 'Yes':
return True
else:
return False
print(sleep_in('monday', 'No'))
这里有一些更好的代码:
def sleep_in(weekday, vacation):
if vacation:
return True
if weekday in ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']:
return False
else:
return True
这段代码之所以有效,是因为它首先检查 vacation
,然后检查 returns True
假期是否为真(您可以为此简单地执行 if vacation
)。
接下来,如果 vacation 为 false,它会计算下一个 if
语句,并查看 weekday 参数是否在 ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']
的列表内。如果是,则 returns False(否 sleep_in)。如果不是,则表示今天是周末 sleep_in returns 为真。
我认为这就是您想要实现的目标。
def sleep_in(weekday, vacation):
if weekday == ['monday', 'tuesday', 'wednesday', 'thursday', 'friday'] and vacation == 'Yes':
return True
elif weekday != ['monday', 'tuesday', 'wednesday', 'thursday', 'friday'] or vacation == 'Yes':
return True
else:
return False
print(sleep_in('monday', 'No'))
这里有一些更好的代码:
def sleep_in(weekday, vacation):
if vacation:
return True
if weekday in ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']:
return False
else:
return True
这段代码之所以有效,是因为它首先检查 vacation
,然后检查 returns True
假期是否为真(您可以为此简单地执行 if vacation
)。
接下来,如果 vacation 为 false,它会计算下一个 if
语句,并查看 weekday 参数是否在 ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']
的列表内。如果是,则 returns False(否 sleep_in)。如果不是,则表示今天是周末 sleep_in returns 为真。
我认为这就是您想要实现的目标。