我正在尝试制作一个小程序,如果其中一个整数为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))
我希望print(makes10(9,9))的输出为False
答案 0 :(得分:0)
在python中,或是逻辑运算符。
如果两个操作数中的任何一个都不为零,则条件为true。
您的输入值(1、9和10)为非零,因此表达式a or b == 10
始终为真。
根据Primusa的建议,在使用逻辑运算符或之前,您应该首先评估输入是否等于10。
def makes10(a, b):
if a == 10 or b == 10:
return True
elif a + b == 10:
return True
else:
return False