Не получается в Python'е - Общение Python мододелов

Вопрос Не получается в Python'е

Регистрация
9 Мар 2013
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
Только начинаю учиться программировать в python, пытался написать свой калькулятор, но не правильно выдает результаты примеров, вот код:



print("Выберите операцию, просто введите то, что хотите сделать:")



print("Введите например: Сложение, вычитание, деление, умножение")







player_sposob = input()







print("Теперь введите первое число: ")







one_number = input()







print("Теперь введите второе число: ")







two_number = input()







print("Хорошо, система анализирует ваш пример...")







if player_sposob == "Сложение" or "сложение":



print(int(one_number) + int(two_number))



elif player_sposob == "Вычитание" or "вычитание":



print(int(one_number) - int(two_number))



elif player_sposob == "Деление" or "деление":



print(int(one_number) / int(two_number))



elif player_sposob == "Умножение" or "умножение":



print(int(one_number) * int(two_number)) И почему-то, когда сложение происходит , все хорошо, числа складываются

А если пользователь выбирает другие способы, то почему-то они тоже складываются... Например, если игрок выбрал вычитание, то числа все равно слаживаются , а не вычитаются
 
Регистрация
21 Дек 2013
Сообщения
73
Репутация
0
Спасибо
0
Монет
0
Если тебе так хочется научится программировать начинай с книжек по программированию(алгоритмы и тд), а язык будет тот, что используется в них.
 

ter

Capitan

ter

Capitan
Регистрация
9 Авг 2013
Сообщения
102
Репутация
0
Спасибо
0
Монет
0
Все хорошо за исключением маленькой ошибки с оператором or. Ты проверяешь, выполненно ли условие или же константа. Константа всегда верна, поэтому всегда срабатывает if сложения.Должно быть так: if player_sposob == "Сложение" or player_sposob == "сложение". А вообще есть метод проще, например принять целый пример вместо введения операции и чисел отдельно
 
Регистрация
29 Ноя 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
input() возвращает строку, а не число. Почитай что такое типы данных
if player_sposob == "Сложение" or "сложение":
- так тоже нельзя
Нужно так
if player_sposob == "Сложение" or player_sposob == "сложение":
А вообще правильно так
if player_sposob.lower() == "сложение":
 
Сверху Снизу