Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Арифметические операции из строк в Python

У нас есть строка "2+3-7". Нужно вывести результат без использования eval. Можно использовать циклы, условия, листы и другие простейшие возможности пайтон.

По дате
По рейтингу
Аватар пользователя
Мудрец

"...без использование eval"
@
используешь exec
@
препод с лицом лягушки ставит пятерку

Аватар пользователя
Просветленный

e = '2+3-7'
ii = [float(s) for s in e if s.isnumeric()]
oo = [str(o) for o in e if not o.isnumeric()]
result = ii.pop(0)
for o in oo:
__if o == '+':
____result += ii.pop(0)
__elif o == '-':
____result -= ii.pop(0)
print(f'expression evaluates to {result}')