为什么这个python总是真的?

时间:2018-03-13 02:21:31

标签: python

无论我为x或y输入什么数字

即使我更改了16或250的值

x = anyRandomNumber
y = anyRandomNumber
print ((x + y == 16) == ((10*x) + (25*y) == 250))

这是由教师在课程中提供的代码,它只是假设在x = 10和y = 6时执行true

enter image description here

3 个答案:

答案 0 :(得分:0)

当您在程序中输入任意随机数时,表达式的两边都会计算为False,因此整个表达式会显示False == False,即True。某些数字(例如8和8)会评估True == False,因此会输出False

答案 1 :(得分:0)

x = 1
y = 1
print (x + y == 16)  # False
print ((10*x) + (25*y) == 250) # False
print ((x + y == 16) == ((10*x) + (25*y) == 250)) # False == False

x = 10
y = 6
print (x + y == 16)  # True
print ((10*x) + (25*y) == 250) # True
print ((x + y == 16) == ((10*x) + (25*y) == 250)) # True == True

答案 2 :(得分:0)

因为在python中False == False为True,所以当x + y不是16且10x + 25y不等于250时,你将整个语句评估为True。如果你希望它以你说的方式工作,那么你需要使用'和'运营商('&'也有效):

print((x + y == 16)and((10 * x)+(25 * y)== 250))