def makes10(a, b):
return ((a or b) is 10) or (a+b is 10)
makes10(9, 10) False
我希望上面的内容与下面相同,但返回不同的结果。
def makes10(a, b):
return (a == 10 or b == 10 or a+b == 10)
makes10(9, 10) True
答案 0 :(得分:1)
>>> (1 or 10) is 10
False
>>> (10 or 1) is 10
True
>>> (1 or 10)
1
使用或者检查这些数字中的任何一个是否为10只是不起作用...
make10()的底部版本可能是要走的路。正如@Wooble所说,不要使用是比较整数值。
答案 1 :(得分:0)
Python会将a和b作为2个不同的对象。
使用“is”比较对象,而“==”将按值进行比较。
例如,如果你有一个= 10,
a == 10应该返回true 并且a是10应该返回false