码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式计算 origin = "1 - 2 * ( ( 60 - 30 + ( -40.0 / 5 ) * ( 9 - 2 * 5 / 3 + 7 / 3 * 99 / 4 * 2998 + 10 * 568 / 14 )) - ( - 4 * 3 ) / ( 16 - 3 * 2))"

时间:2017-02-13 21:37:08      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:计算   else   正则   before   python   pytho   pre   正则表达式   div   

 1 #!/usr/bin/env python
 2 import re
 3 def f1(arg):
 4 
 5     return 1
 6 
 7 origin = "1 - 2 * ( ( 60 - 30 + ( -40.0 / 5 ) * ( 9 - 2 * 5 / 3 + 7 / 3 * 99 / 4 * 2998 + 10 * 568 / 14 )) - ( - 4 * 3 ) / ( 16 - 3 * 2))"
 8 print(eval(origin))
 9 while True:
10     print(origin)
11     ret = re.split("\(([^()]+)\)", origin,1)
12     if len(ret) == 3:
13         before = ret[0]
14         content = ret[1]
15         after = ret[2]
16         r = f1(content)
17         new_str = before + str(r) + after
18         origin = new_str
19     else:
20         final = f1(origin)
21         print(final)
22         break

 

正则表达式计算 origin = "1 - 2 * ( ( 60 - 30 + ( -40.0 / 5 ) * ( 9 - 2 * 5 / 3 + 7 / 3 * 99 / 4 * 2998 + 10 * 568 / 14 )) - ( - 4 * 3 ) / ( 16 - 3 * 2))"

标签:计算   else   正则   before   python   pytho   pre   正则表达式   div   

原文地址:http://www.cnblogs.com/shiluoliming/p/6395280.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!