为什么我的代码返回 True 而不是 False?
Why is my code returning True instead of False?
我正在尝试为它编写一个小程序 return 如果其中一个整数是 10 或者它们的和是 10 则为真。请查看代码。
我一直在尝试在 'or' 或 'and' 之间切换。但是运气不好
#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
在python中,或是逻辑运算符。
If any of the two operands are non-zero then condition becomes 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
我正在尝试为它编写一个小程序 return 如果其中一个整数是 10 或者它们的和是 10 则为真。请查看代码。
我一直在尝试在 'or' 或 'and' 之间切换。但是运气不好
#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
在python中,或是逻辑运算符。
If any of the two operands are non-zero then condition becomes true.
您的输入值(1、9 和 10)不是零,因此表达式 a or b == 10
始终为真。
根据 Primusa 的建议,在使用逻辑运算符 或 .
之前,您应该先评估输入是否等于 10def makes10(a, b):
if a == 10 or b == 10:
return True
elif a + b == 10:
return True
else:
return False