我正在尝试执行以下操作:
编写一个程序,读取三个数字并打印“全部相同” 如果他们都是一样的话,如果他们都不同,那就“全都不同”, 而且“不”否则。
您的程序应通过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')
答案 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
(否则如果)和else
(see 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")