在python中比较3个输入的整数

时间:2013-09-19 15:53:52

标签: python python-3.x

我正在尝试执行以下操作:

  

编写一个程序,读取三个数字并打印“全部相同”   如果他们都是一样的话,如果他们都不同,那就“全都不同”,   而且“不”否则。

     

您的程序应通过3个输入语句请求3个整数。用一个   if,elif和else的组合来实现算法   需要解决这个问题。

然而,每当我输入所有相同的整数时,我都会得到“完全相同”和“不同时”。如何使我的“不”部分正确?

x=input('enter an integer:') 
y=input('enter an integer:') 
z=input('enter an integer:') 
if x==y and y==z: print('all the same') 
if not x==y and not y==z: print('all different') 
if x==y or y==z or z==x: print('neither')

2 个答案:

答案 0 :(得分:0)

这里的问题是你对每个案例使用if。这意味着无论如何评估所有案例,并且多个案例都可以成立。

例如,如果所有三个变量都是1,则案例的评估如下:

>>> x = 1
>>> y = 1
>>> z = 1
>>> if x == y and y == z: print("all the same")

all the same
>>> if not x == y and not y == z: print("all different")

>>> if x == y or y == z or z == x: print('neither')

neither
>>> 

您想使用elif(否则如果)和elsesee the flow control documentation),这样您的条件就会互相排斥:

>>> x = 1
>>> y = 1
>>> z = 1
>>> if x == y and y == z: print("all the same")
elif not x == y and not y == z: print("all different")
else: print("neither")

all the same
>>> 

答案 1 :(得分:0)

我的建议是: 1)使用输入 2)使用if,elif和else子句

这样的东西?

x = input("Enter the 1st integer")
y = input("Enter the 2nd integer")
z = input("Enter the 3rd integer")

if x == y and y == z:
    print("All the numbers are the same")

elif x!= y and y != z: # or use elif not and replace all != with ==
    print("None of the numbers are the same")

else:
    print("Neither")