Предмет: Информатика,
автор: ghaz0705
Создайте калькулятор для двух чисел.
Пользователь вводит выражение типа 2+2 и получает результат. В калькуляторе доступны четыре действия: сложение,
вычитание, умножение и деление
Ответы
Автор ответа:
0
Код калькулятора для двух чисел:
python
Copy code
while True:
try:
# Просим пользователя ввести выражение
expression = input('Введите выражение: ')
# Проверяем, что в выражении только цифры, пробелы и знаки операций
if not all(c.isdigit() or c.isspace() or c in ['+', '-', '*', '/'] for c in expression):
raise ValueError
# Извлекаем первое и второе число из выражения
num1, num2 = map(float, expression.split('+', 1))
if '-' in expression:
num1, num2 = map(float, expression.split('-', 1))
elif '*' in expression:
num1, num2 = map(float, expression.split('*', 1))
elif '/' in expression:
num1, num2 = map(float, expression.split('/', 1))
# Выполняем соответствующую операцию
if '+' in expression:
result = num1 + num2
elif '-' in expression:
result = num1 - num2
elif '*' in expression:
result = num1 * num2
elif '/' in expression:
result = num1 / num2
# Выводим результат
print(f'Результат: {result}')
except ValueError:
print('Некорректное выражение. Попробуйте еще раз.')
except ZeroDivisionError:
print('Деление на ноль невозможно. Попробуйте еще раз.')
Пример использования:
makefile
Copy code
Введите выражение: 5+7
Результат: 12.0
Введите выражение: 10/3
Результат: 3.3333333333333335
Введите выражение: 2*6
Результат: 12.0
Введите выражение: 8-4
Результат: 4.0
Введите выражение: 5/0
Деление на ноль невозможно. Попробуйте еще раз.
Введите выражение: abc
Некорректное выражение. Попробуйте еще раз.
python
Copy code
while True:
try:
# Просим пользователя ввести выражение
expression = input('Введите выражение: ')
# Проверяем, что в выражении только цифры, пробелы и знаки операций
if not all(c.isdigit() or c.isspace() or c in ['+', '-', '*', '/'] for c in expression):
raise ValueError
# Извлекаем первое и второе число из выражения
num1, num2 = map(float, expression.split('+', 1))
if '-' in expression:
num1, num2 = map(float, expression.split('-', 1))
elif '*' in expression:
num1, num2 = map(float, expression.split('*', 1))
elif '/' in expression:
num1, num2 = map(float, expression.split('/', 1))
# Выполняем соответствующую операцию
if '+' in expression:
result = num1 + num2
elif '-' in expression:
result = num1 - num2
elif '*' in expression:
result = num1 * num2
elif '/' in expression:
result = num1 / num2
# Выводим результат
print(f'Результат: {result}')
except ValueError:
print('Некорректное выражение. Попробуйте еще раз.')
except ZeroDivisionError:
print('Деление на ноль невозможно. Попробуйте еще раз.')
Пример использования:
makefile
Copy code
Введите выражение: 5+7
Результат: 12.0
Введите выражение: 10/3
Результат: 3.3333333333333335
Введите выражение: 2*6
Результат: 12.0
Введите выражение: 8-4
Результат: 4.0
Введите выражение: 5/0
Деление на ноль невозможно. Попробуйте еще раз.
Введите выражение: abc
Некорректное выражение. Попробуйте еще раз.
Похожие вопросы
Предмет: Литература,
автор: plspomofitesdz
Предмет: Алгебра,
автор: jsjsjfeiisfrioeidjd
Предмет: Математика,
автор: Anastasiachv
Предмет: География,
автор: karolinaschoolnumber
Предмет: Французский язык,
автор: gfopewgvjuiod