 
Вопрос задан 29.07.2023 в 08:49.
Предмет Информатика.
Спрашивает Смирнов Андрей.
Сделать калькулятор выражений в питоне начало:primer = list(input("Введите пример:")) lenght =
len(primer) i = 0 while i < lenght: if primer[i] == '*': primer[i-1] = \ int(primer[i-1])*\ int(primer[i+1]) print(primer[i]) del primer[i] del primer[i] lenght -= 2 i=0 if primer[i] == '/': primer[i-1] = \ int(primer[i-1])/\ int(primer[i+1]) print(primer[i]) del primer[i] del primer[i] lenght -= 2 i=0 i += 1 0
        0
         0
        0
    Ответы на вопрос
 
        Отвечает Толстик Артём.
                
                   Простий,на одну               
a = int(input("Input: "))
ent = input(" '+','-','*','/': ")
b = int(input("Input: "))
if ent == '+':
print(a+b)
elif ent == '-':
print(a-b)
elif ent == '*':
print(a*b)
elif ent == '/':
print(a/b)
                                        a = int(input("Input: "))
ent = input(" '+','-','*','/': ")
b = int(input("Input: "))
if ent == '+':
print(a+b)
elif ent == '-':
print(a-b)
elif ent == '*':
print(a*b)
elif ent == '/':
print(a/b)
 0
                    0
                     0
                    0
                 
            Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
                
    В коде, который вы предоставили, есть некоторые ошибки и недочеты. Я помогу вам исправить код и сделать калькулятор выражений на Python.
Прежде чем начать, нам нужно учесть следующие вещи:
- Учитывайте приоритет операций: сначала умножение и деление, затем сложение и вычитание.
- Обрабатывайте многозначные числа.
- Обрабатывайте отрицательные числа.
Используем обратную польскую запись (постфиксную нотацию) для вычисления выражения.
Вот исправленный код калькулятора:
pythondef is_operator(char):
    return char in "+-*/"
def precedence(operator):
    return {"+": 1, "-": 1, "*": 2, "/": 2}.get(operator, 0)
def apply_operator(operators, values):
    operator = operators.pop()
    right = values.pop()
    left = values.pop()
    if operator == "+":
        values.append(left + right)
    elif operator == "-":
        values.append(left - right)
    elif operator == "*":
        values.append(left * right)
    elif operator == "/":
        values.append(left / right)
def evaluate_expression(expression):
    tokens = expression.split()
    operators = []
    values = []
    for token in tokens:
        if token.isdigit() or (token.startswith('-') and token[1:].isdigit()):
            values.append(int(token))
        elif is_operator(token):
            while (operators and is_operator(operators[-1]) and
                   precedence(operators[-1]) >= precedence(token)):
                apply_operator(operators, values)
            operators.append(token)
        elif token == "(":
            operators.append(token)
        elif token == ")":
            while operators[-1] != "(":
                apply_operator(operators, values)
            operators.pop()
    while operators:
        apply_operator(operators, values)
    return values[0]
if __name__ == "__main__":
    expression = input("Введите пример: ")
    result = evaluate_expression(expression)
    print("Результат:", result)
Пример использования:
makefileВведите пример: (3 + 5) * 2 - 8 / 4
Результат: 14.0
Этот код позволит вам вводить выражения с использованием скобок и осуществлять вычисления с учетом приоритета операций.
 0
                    0
                     0
                    0
                Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
	- 
			Математика 
- 
			Литература 
- 
			Алгебра 
- 
			Русский язык 
- 
			Геометрия 
- 
			Английский язык 
- 
			Химия 
- 
			Физика 
- 
			Биология 
- 
			Другие предметы 
- 
			История 
- 
			Обществознание 
- 
			Окружающий мир 
- 
			География 
- 
			Українська мова 
- 
			Информатика 
- 
			Українська література 
- 
			Қазақ тiлi 
- 
			Экономика 
- 
			Музыка 
- 
			Право 
- 
			Беларуская мова 
- 
			Французский язык 
- 
			Немецкий язык 
- 
			МХК 
- 
			ОБЖ 
- 
			Психология 
- 
			Физкультура и спорт 
- 
			Астрономия 
- 
			Кыргыз тили 
- 
			Оʻzbek tili 
 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			