Напишите программу на Python для вычисления выражения, состоящего из трех целых чисел и двух знаков (можно использовать "+", "-", "*" и "/"). Выражение вводится в виде строки, где все числа целые. При выполнении операции деления ("/") используйте целочисленное деление (div). Пример: Введите выражение: 12*3+45. Результат: [ответ].
Letuchiy_Mysh
Конечно! Вот программа на языке Python, которая выполняет вычисление математического выражения, состоящего из трех целых чисел и двух знаков:
Описание решения:
1. Сначала мы запрашиваем у пользователя ввод выражения и сохраняем его в переменную `выражение`.
2. Проверяем, что введенное выражение содержит только допустимые символы (цифры, плюс, минус, умножение и деление).
3. Затем мы итерируемся по выражению и разделяем его на числа и операторы. Числа сохраняются в список `числа`, а операторы - в список `операторы`.
4. Далее мы выполняем операции в правильном порядке, учитывая приоритеты операций: сначала умножение и деление, затем сложение и вычитание. Результат каждой операции сохраняется в переменную `результат`.
5. Наконец, мы выводим полученный результат на экран.
python
выражение = input("Введите выражение: ")
# Проверим, что введенная строка содержит только допустимые символы
допустимые_символы = "+-*/"
if not all(символ in допустимые_символы or символ.isdigit() for символ in выражение):
print("Некорректное выражение!")
else:
# Итерируемся по выражению, разделяя его на числа и операторы
числа = []
операторы = []
текущее_число = ""
for символ in выражение:
if символ.isdigit():
текущее_число += символ
else:
числа.append(int(текущее_число))
операторы.append(символ)
текущее_число = ""
числа.append(int(текущее_число))
# Выполняем операции в правильном порядке, учитывая приоритеты операций
результат = числа[0]
for i, оператор in enumerate(операторы):
if оператор == "+":
результат += числа[i+1]
elif оператор == "-":
результат -= числа[i+1]
elif оператор == "*":
результат *= числа[i+1]
elif оператор == "/":
результат = результат // числа[i+1]
print("Результат:", результат)
Описание решения:
1. Сначала мы запрашиваем у пользователя ввод выражения и сохраняем его в переменную `выражение`.
2. Проверяем, что введенное выражение содержит только допустимые символы (цифры, плюс, минус, умножение и деление).
3. Затем мы итерируемся по выражению и разделяем его на числа и операторы. Числа сохраняются в список `числа`, а операторы - в список `операторы`.
4. Далее мы выполняем операции в правильном порядке, учитывая приоритеты операций: сначала умножение и деление, затем сложение и вычитание. Результат каждой операции сохраняется в переменную `результат`.
5. Наконец, мы выводим полученный результат на экран.
Знаешь ответ?