【发布时间】:2019-10-22 09:11:56
【问题描述】:
我是函数的新手,对创建一个给定三个布尔值的特定函数感到困惑,如果至少两个为真,则返回真。如果我在运行程序后像这样在解释器中显式编写(我检查了所有六种组合),那么当我在解释器中调用函数时,我所拥有的函数可以工作:
>>> function(True,False,True)
True
但我在想我应该能够在输入这些变量的值后输入函数 (b1,b2,b3)。对于这些变量的任何输入,函数 (b1,b2,b3) 返回 False。
b1 = input("enter True or False: ")
b2 = input("enter True or False: ")
b3 = input("enter True or False: ")
def function(b1,b2,b3):
if b1 is True and b2 is True:
return True
if b2 is True and b3 is True:
return True
if b1 is True and b3 is True:
return True
return False
【问题讨论】:
-
您可能正在接受字符串,而不是布尔值。我不是蟒蛇人,所以不能 100% 确定。查看
input()的文档以查看它返回的内容 -
如果你得到三个 True 会发生什么?
-
三个 True 至少有两个 True 所以我们需要返回 True。
-
如果你使用 python3
input将永远不会返回布尔值。