Python编码的蝙蝠预热返回意外的True

问题描述 投票:-2回答:3

正在尝试以下问题:

如果为weekday,则参数Trueweekday;如果正在休假,则参数vacationTrue。如果不是工作日或正在休假,我们会入睡。如果我们入睡,则返回True

sleep_in(False, False) → True
sleep_in(True, False) → False
sleep_in(False, True) → True

我尝试运行以下代码来测试解决方案。

weekday = 0
vacation = 5

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

x = sleep_in(0, 6)
print x

我期望结果为False。但是我变得真实了!有什么想法吗?

正在尝试以下问题:如果它是工作日,则参数weekday为True,如果我们在假期,则参数Vacation为True。如果不是工作日或我们在...上睡觉,我们就在...

python boolean-logic
3个回答
2
投票

所有Python对象都有一个布尔值


0
投票
weekday = 0
vacation = 1

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

0
投票

您的代码由于多种原因而无法使用。首先,您无需将工作日和假期定义为任何数字,因为它们已经在这些值中将true或false传递给了您。此外,您需要做的只是检查工作日是否为!= True,而Vacation为false,如果是,则返回True。否则,您将返回false。就这么简单

© www.soinside.com 2019 - 2024. All rights reserved.