М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
deniwolf200
deniwolf200
16.08.2022 04:32 •  Информатика

5. Задача №112416. Калькулятор: 4 действия Напишите программу, которая вычисляет арифметическое выражение, введённое в виде
символьной строки. Выражение содержит только целые числа и знаки арифметических
действий: сложения, вычитания, умножения и деления. Деление выполняется с отбрасыванием
остатка.
Входные данные
Входная строка содержит запись арифметического выражения.
Выходные данные
Программа должна вывести результат вычисления переданного ей выражения.
Примеры
входные данные
2+14*3-15/4*3
выходные данные
35

👇
Ответ:
alionka7
alionka7
16.08.2022
Хорошо, давайте разберемся, как решить данную задачу.

Сначала мы должны прочитать входную строку, которая содержит запись арифметического выражения. Для этого мы можем использовать функцию input() в Питоне:

expression = input("Введите арифметическое выражение: ")

Далее нам нужно разбить введенную строку на отдельные числа и операторы. Мы можем использовать функцию split() для этого:

tokens = expression.split()

Теперь у нас есть список tokens, который содержит все числа и операторы в том порядке, в котором они были введены. Например, для входной строки "2+14*3-15/4*3", tokens будет выглядеть так: ['2', '+', '14', '*', '3', '-', '15', '/', '4', '*', '3'].

Теперь мы можем начать вычислять выражение. Для этого мы будем использовать цикл while, который будет выполняться до тех пор, пока у нас остаются операторы.

result = int(tokens[0])

i = 1
while i < len(tokens):
operator = tokens[i]
i += 1
number = int(tokens[i])
i += 1

if operator == '+':
result += number
elif operator == '-':
result -= number
elif operator == '*':
result *= number
elif operator == '/':
result //= number

Начинаем с первого символа в списке tokens и проверяем, является ли этот символ оператором. Если является, то берем следующий символ в списке в качестве числа и выполняем соответствующую операцию с результатом. Затем продолжаем с следующим символом в списке.

По окончании цикла while переменная result будет содержать результат вычисления арифметического выражения.

Наконец, мы можем вывести результат:

print("Результат вычислений:", result)

То есть, чтобы решить данную задачу, мы должны выполнить следующие шаги:

1. Прочитать входную строку с помощью функции input().
2. Разбить введенную строку на отдельные числа и операторы с помощью функции split().
3. Начать вычислять выражение с первого элемента в списке tokens, используя цикл while.
4. Проверить каждый символ в списке tokens, выполнить соответствующую операцию и обновить результат.
5. Вывести результат вычислений.

Таким образом, если мы введем арифметическое выражение "2+14*3-15/4*3", программа должна вывести "35".
4,5(74 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ