Прикреплённый файл «vyr1.py»
Загрузка 1 #!/usr/bin/python
2 # coding: UTF8
3
4 '''Ввести простое арифметическое выражение (без скобок) и вычислить его значение с учетом приоритета операций: 30-12/6 = 28'''
5
6 import re
7
8 # Используем таблицу функций
9 # TODO: не отслежена зависимость таблицы и R1, R2
10 Ops={ '+': int.__add__,
11 '-': int.__sub__,
12 '*': int.__mul__,
13 '/': int.__div__,
14 }
15
16 S=raw_input()
17 R1=re.compile('([+-])')
18 R2=re.compile('([/*])')
19 S1=R1.split(S)
20 S1.reverse()
21 # print "1:",S1
22
23 # TODO: оформить разбор любого приоритета в виде единой функции
24 def calc2(E):
25 S2=R2.split(E)
26 S2.reverse()
27 Res=int(S2.pop())
28 # print "2:",S2
29 while S2:
30 Op,Arg=S2.pop(),int(S2.pop())
31 Res=Ops[Op](Res,Arg)
32 return Res
33
34 Res=calc2(S1.pop())
35 while S1:
36 Op,Arg=S1.pop(),calc2(S1.pop())
37 Res=Ops[Op](Res,Arg)
38 print Res
39
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2011-09-26 11:35:22, 0.6 KB) [[attachment:statid.py]]
- [получить | показать] (2011-09-26 11:35:22, 0.6 KB) [[attachment:vyr0.py]]
- [получить | показать] (2011-09-26 11:35:22, 1.0 KB) [[attachment:vyr1.py]]
- [получить | показать] (2011-09-26 11:35:22, 1.1 KB) [[attachment:word_number.1.py]]
- [получить | показать] (2011-09-26 11:35:22, 1.7 KB) [[attachment:word_number.2.py]]
Вам нельзя прикреплять файлы к этой странице.