Уведомления

Группа в Telegram: @pythonsu

#1 Март 28, 2018 09:00:36

Maratello
Зарегистрирован: 2018-03-28
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача

Буду благодарен, если объясните почему при деление на 0 выходит два раза надпись “Деление на 0!”

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

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

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

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


МОЕ РЕШЕНИЕ

 A = float(input())
B = float(input())
C = input()
if C == '+':
	print(A + B)
if C == '-':
	print(A - B)
if C == '*':
	print(A * B)
if C == '/' and B != 0:
	print(A / B)
else:
	print('Деление на 0!')
if C == 'mod' and B != 0:
	print(A % B)
else:
	print('Деление на 0!')
if C == 'div':
	print(A // B)
if C == 'pow':
	print('A ** B')

Отредактировано Maratello (Март 28, 2018 09:01:04)

Офлайн

#2 Март 28, 2018 10:51:13

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Задача

  
def f():
    A = float(input())
    B = float(input())
    C = input()
    if C == '+':
        print(A + B)
    elif C == '-':
        print(A - B)
    elif C == '*':
        print(A * B)
    elif C == '/':
        if B != 0:
            print(A / B)
        else:
            print('Деление на 0!')
    elif C == 'mod':
        if B != 0:
            print(A % B)
        else:
            print('Деление на 0!')
    elif C == 'div':
        print(A // B)
    elif C == 'pow':
        print(A ** B)
 
f()



Отредактировано py.user.next (Март 28, 2018 10:52:23)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version