Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2021 00:04:29

SkeT4
Зарегистрирован: 2021-01-18
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с калькулятором №2

 a = input()
f = float(a.replace(',','.'))
b = float(input())
c = input()
if b == 0 and (c == 'div' or 'mod' or '/'):
    print('Деление на 0!')
elif c == '+':
    print(f + b)
elif c == '-':
    print(f - b)
elif c == '*':
    print(f * b)
elif c == '/':
    print(f / b)
elif c == 'mod':
    print(f % b)
elif c == 'div':
    print(f // b)
elif c == 'pow':
    print(f ** b)

При вводных данных:
5
0
- или +

Выводит “Деление на 0!”
При
 if b == 0 and (c == 'div' or 'mod' or '/') and not(c == '-' or '+')
Вот такая штука с mod
 Test input:
5.0
0.0
mod 
Correct output:
Деление на 0!
Your code output:
Error:
Traceback (most recent call last):
  File "jailed_code", line 16, in <module>
    print(f % b)
ZeroDivisionError: float modulo
И вот такая с div
 Traceback (most recent call last):
  File "jailed_code", line 18, in <module>
    print(f // b)
ZeroDivisionError: float divmod()

Само задание для написание калькулятора:
Напишите простой калькулятор, который считывает с пользовательского ввода три строки: первое число, второе число и операцию, после чего применяет операцию к введённым числам (“первое число” “операция” “второе число”) и выводит результат на экран.

Поддерживаемые операции: +, -, /, *, mod, pow, div, где
mod — это взятие остатка от деления,
pow — возведение в степень,
div — целочисленное деление.

Если выполняется деление и второе число равно 0, необходимо выводить строку “Деление на 0!”.

Обратите внимание, что на вход программе приходят вещественные числа.

Офлайн

#2 Янв. 19, 2021 05:30:15

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Помогите с калькулятором №2

https://www.learnbyexample.org/python-exceptions-try-except/

 a = input()
f = float(a.replace(',','.'))
b = float(input())
c = input()
try:
    if c == '+':
        print(f + b)
    elif c == '-':
        print(f - b)
    elif c == '*':
        print(f * b)
    elif c == '/':
        print(f / b)
    elif c == 'mod':
        print(f % b)
    elif c == 'div':
        print(f // b)
    elif c == 'pow':
        print(f ** b)
except ZeroDivisionError:
    print('Деление на 0!')
except Exception as err:
    print(err)



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version