Вопрос Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются

Регистрация
3 Апр 2013
Сообщения
73
Репутация
-3
Спасибо
0
Монет
0
Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются только знаки «+» или «–»). Выражение вводится как символьная строка, все числа целые.
 
немного криво, но:
s = input().split()
s1 = ""
for i in s:
s1 = s1 + i

signs = []
numbers = []
a = ""
for i in s1:
if i.isdigit():
a = a + i
elif not i.isdigit() and i == "+":
numbers.append(a)
signs.append(i)
a = ""
elif not i.isdigit() and i == "-":
numbers.append(a)
signs.append(i)
a = ""
if s1[0] == "-":
signs.pop(0)
numbers.pop(0)
numbers[0] = int(numbers[0]) * (-1)

numbers.append(a)
summa = int(numbers[0])

for i in range(len(signs)):
if signs == "+":
summa = summa + int(numbers[i + 1])
elif signs == "-":
summa = summa - int(numbers[i + 1])
print(summa)
 
Назад
Сверху