Найти - Пользователи
Полная версия: Задача
Начало » Центр помощи » Задача
1
Maratello
Буду благодарен, если объясните почему при деление на 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')
py.user.next
  
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()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB