import math # Понадобится, если решите добавить сюда и 4 задание
print("--- Универсальный калькулятор ---")
# Получаем числа (с проверкой на то, что введены именно числа)
while True:
try:
num1 = float(input("Введите первое число: "))
num2 = float(input("Введите второе число: "))
break # Если ошибок нет, выходим из цикла ввода чисел
except ValueError:
print("Ошибка! Пожалуйста, вводите только числа.")
# ==========================================
# ЗАДАНИЕ 3: Проверка ввода операции
# ==========================================
# Цикл будет крутиться, пока пользователь не введет корректный символ
valid_operations = ['+', '-', '*', '/', '//', '**']
while True:
operation = input("Введите операцию (+, -, *, /, //, **): ")
if operation in valid_operations:
break
else:
print("Ошибка! Некорректный символ. Попробуйте снова.")
# ==========================================
# ЗАДАНИЕ 1: Расширенный калькулятор
# ==========================================
result = None
if operation == '+':
result = num1 + num2
elif operation == '-':
result = num1 - num2
elif operation == '*':
result = num1 * num2
elif operation == '/':
if num2 == 0:
result = "Ошибка: деление на ноль!"
else:
result = num1 / num2
elif operation == '//':
if num2 == 0:
result = "Ошибка: деление на ноль!"
else:
result = num1 // num2
elif operation == '**':
result = num1 ** num2
print(f"\nРезультат: {result}")
# ==========================================
# ЗАДАНИЕ 2: Калькулятор с округлением
# ==========================================
# Проверяем, что результатом действительно является число (а не текст ошибки)
if isinstance(result, (int, float)):
ask_round = input("Хотите округлить результат до целого числа? (да/нет): ").strip().lower()
if ask_round == 'да' or ask_round == 'yes':
print(f"Округленное значение: {round(result)}")
else:
print("Округление отменено.")