我正在尝试制作一个小程序,如果其中一个整数为 10 或它们的总和为 10,则返回 True。请参阅代码。
我一直在尝试在"或"和"之间切换。但没有运气
#Given 2 ints, a and b, return True if one if them is 10 or if their sum
#is 10.
def makes10(a, b):
if a or b == 10:
return True
elif a + b == 10:
return True
else:
return False
print(makes10(9,10))
print(makes10(9,9)) #This one is not giving False.
print(makes10(1,9))
我希望打印(makes10(9,9((的输出是假的
在python中,or是一个逻辑运算符。
如果两个操作数中的任何一个不为零,则条件变为 true。
您的输入值(1、9 和 10(不为零,因此表达式a or b == 10
始终为 true。
正如Primusa所建议的,在使用逻辑运算符or之前,应首先评估输入是否等于10。
def makes10(a, b):
if a == 10 or b == 10:
return True
elif a + b == 10:
return True
else:
return False