有人可以解释输出吗? 我想检查两个数字是否相等,但无法正常工作。
Input: 1, 2 == 1, 2
Output: (1, False, 2)
答案 0 :(得分:4)
您正在创建一个包含三个元素的元组,分别为1
,2 == 1
和2
。第一个和最后一个元素是整数文字,因此它们在Python中的值分别为1
和2
并不奇怪。
元素2 == 1
是一个单个表达式,其值为False
,因为2
不等于1
。
如果要检查具有两个元素(1,2)
和(1,2)
的两个元组的相等性,则必须执行(1, 2) == (1, 2)
,以便Python知道哪些元素之间用逗号分隔,将它们视为一个元素。
在REPL中,您可以通过比较自己拥有的东西来找出答案
>>> (1, 2) == (1, 2)
True
>>> (1, 3) == (1, 2)
False
>>> (3, 1) == (2, 1)
False
答案 1 :(得分:1)
根据您的代码,这是一个简单的相等检查。如果两个操作数都为true,则返回true,在您的情况下为1 == 2,因此由于两个操作数不相同,因此将返回false。 如果您要比较它们,请在它们上面加上花括号。
答案 2 :(得分:0)
您要创建一个由3个元素组成的元组,即int,boolean和int。
如果要同时进行比较,请使用
[1, 2] == [1, 2]
答案 3 :(得分:0)
print 1, 2 == 1, 2
是
print 1, False, 2 //since 1 not equal to 2
将输出
1错误2
答案 4 :(得分:0)
实际上2 == 1会给你错误,因为2不等于1。所以更好的方法是使用if语句
a = 1
b = 2
if b > a:
print(b + " is greater than " + a)
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
答案 5 :(得分:-1)
操作顺序与您的想法不符。 ==的优先级高于逗号。因此,您将创建一个包含以下元素的三元组:
1
the result of the Boolean test to see whether 2 equals 1
2
这可能就是您想要的,尝试一下:
>>> (1,2) == (1,2)
True