1. напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются знаки «+», «–», «*» и «/»). выражение вводится как символьная строка, все числа целые. операция «/» выполняется как целочисленное деление.
пример:
введите выражение:
12*3+45
ответ: 81
2. напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются знаки «+», «–», «*» и «/») и круглых скобок. выражение вводится как символьная строка, все числа целые. операция «/» выполняется как целочисленное деление (div).
пример:
введите выражение:
2*(3+45)+4
ответ: 100
На каком языке программирования?
Шаг 1: Ввод выражения
Первым шагом нашей программы будет ввод выражения от пользователя в виде символьной строки. Мы можем использовать функцию input(), чтобы пользователь мог ввести выражение. Запросим пользователя ввести выражение и сохраните его в переменную expression:
expression = input("Введите выражение: ")
Шаг 2: Разделим выражение
Теперь необходимо разбить введенное выражение на числа и операторы. Мы можем сделать это, пройдя по каждому символу в выражении и проверяя, является ли символ числом или оператором. Для этого создадим два списка: numbers для хранения чисел и operators для хранения операторов. Затем, используя цикл for, пройдемся по каждому символу в выражении:
numbers = []
operators = []
for char in expression:
if char.isdigit():
numbers.append(int(char))
else:
operators.append(char)
Шаг 3: Вычисление выражения
Теперь, когда у нас есть списки с числами и операторами, мы можем вычислить значение выражения. Для этого, используя условные выражения, проверим тип оператора и выполним соответствующую арифметическую операцию. В нашем случае, нам понадобятся операторы "+", "-", "*" и "/":
result = numbers[0] # Инициализируем переменную result значением первого числа
for i in range(len(operators)):
if operators[i] == "+":
result += numbers[i+1]
elif operators[i] == "-":
result -= numbers[i+1]
elif operators[i] == "*":
result *= numbers[i+1]
elif operators[i] == "/":
result //= numbers[i+1]
Шаг 4: Вывод результата
Наконец, мы должны вывести результат вычисления выражения на экран. Используем функцию print() для вывода результата:
print("Ответ: ", result)
В итоге, весь наш код будет выглядеть следующим образом:
expression = input("Введите выражение: ")
numbers = []
operators = []
for char in expression:
if char.isdigit():
numbers.append(int(char))
else:
operators.append(char)
result = numbers[0]
for i in range(len(operators)):
if operators[i] == "+":
result += numbers[i+1]
elif operators[i] == "-":
result -= numbers[i+1]
elif operators[i] == "*":
result *= numbers[i+1]
elif operators[i] == "/":
result //= numbers[i+1]
print("Ответ: ", result)
Теперь программа готова к использованию! Пользователь может ввести выражение в виде символьной строки, состоящей из трех чисел и двух знаков, а программа вычислит и выведет результат на экран.