Загрузка данных


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("Округление отменено.")