2013-09-19 2 views
-4

Я пытаюсь сделать следующее:Сравнивая 3 введенные числа в Python

Написать программу, которая считывает три числа и печатает «все равно» , если они все-таки, «все разные» если они все разные, и «ни» в противном случае.

Ваша программа должна запросить 3 целых числа через 3 оператора ввода. Используйте команду if, elif и еще для реализации алгоритма , необходимого для этой проблемы.

Однако, всякий раз, когда я ввожу все одинаковые целые числа, я получаю «все равно» и «ни один». Как мне сделать так, чтобы моя «ни» часть была правильной?

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

Добро пожаловать в переполнение стека! Похоже, вы хотите, чтобы мы написали вам код. Хотя многие пользователи готовы создавать код для кодера, терпящего бедствие, они обычно помогают только тогда, когда плакат уже попытался решить проблему самостоятельно. Хорошим способом продемонстрировать это усилие является включение кода, который вы написали до сих пор, пример ввода (если он есть), ожидаемый вывод и вывод, который вы фактически получаете (вывод консоли, трассировки стека, ошибки компилятора - все, что угодно применимо). Чем больше деталей вы предоставляете, тем больше ответов вы получите. – thegrinner

+0

PS: Взгляните на ['input()'] (http://docs.python.org/3.3/library/functions.html#input) (или 'raw_input()' в Python 2.x). Остальное должно быть довольно тривиально. – thegrinner

+0

'x = input ('ввести целое число:')' 'y = input ('ввести целое число:')' 'z = input ('ввести целое число:')' 'if x == y и y == z: print ('все равно') if not x == y и not y == z: print ('all different') if x == y or y == z или z == x: print ('none') ' всякий раз, когда я ввожу все те же целые числа, я получаю все одинаковое и ни одно. как я могу сделать это так, чтобы моя «ни» часть была правильной? – user2796175

ответ

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 
>>> 
0

Мое предложение было бы: 1) Используйте вход 2) Используйте, если, Элиф и остальное статьи

Что-то вроде этого?

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") 
Смежные вопросы