Member 13858794 Ответов: 2

Я получаю неправильный вывод в моей программе калькулятора на Python


Эй я сделал базовую программу калькулятора но я не получаю правильный вывод из нее это мой код

def add(first,second):
    return  first+second

def multiply(first,second):
    return  first*second

def subtract(first,second):
    return  first-second

def divide(first,second):
    return  first/second

print("1.division")
print('2.multiplication')
print('3.subraction')
print('4.addition')

user_input = input('enter your choice:')
first_num = float(input('enter first number:'))
second_num = float(input('enter another number:'))

if user_input==1:
    print(divide(first_num,second_num))

elif user_input==2:
    print(multiply(first_num,second_num))

elif user_input==3:
    print(subtract(first_num,second_num))
else:
    print(add(first_num,second_num))

результат, который я получаю, выглядит следующим образом

1.отдел
2.умножение
3.subraction
4.дополнение
введите свой выбор:2
введите первое число:8
введите другое число:5
13.0
Может кто-нибудь помочь, пожалуйста?

Что я уже пробовал:

Я попробовал использовать разные цифры

2 Ответов

Рейтинг:
0

V.

Ваш входной выбор-это не число, а строка. Поэтому он непосредственно перейдет к утверждению else. (дополнение)

Надеюсь, это поможет.


Рейтинг:
0

Patrice T

Измените свой код на:

if user_input==1:
    print(divide(first_num,second_num))

elif user_input==2:
    print(multiply(first_num,second_num))

elif user_input==3:
    print(subtract(first_num,second_num))

elif user_input==4:
    print(add(first_num,second_num))

else:
    print(add('Error: wrong choice'))

Таким образом, вы не получите неверный результат, вам скажут, что выбор пользователя не был распознан.
Цитата:
Я попробовал использовать разные цифры

Что касается проблемы в коде, решение 1 даст вам причину.
Все входные данные-это строка, поэтому вам нужно преобразовать их в целое число или сравнить со строкой.