一.我的码云项目地址 https://gitee.com/yingjunxiaosa/personal_project41656
二.psp图
三.简易流程图
四.程序源码(中间已用屏蔽代码屏蔽)
1 富强、民主、文明、和谐、自由、平等、公正、法治、爱国、敬业、诚信、友善 while(1): 2 ret = re.search(r'([^(]*?)',in_string) 3 if ret: 4 re_string = ret.group() 5 re_sj = rjsuanfa(re_string.strip('()')) 6 in_string = in_string.replace(re_string,str(chuli)) 7 continue 8 break 9 re_sj = rjsuanfa(in_string) 10 return float(re_sj) 11 富强、民主、文明、和谐、自由、平等、公正、法治、爱国、敬业、诚信、友善 12 if '*' in chengchu_s: 13 x,y = chengchu_s.split('*') 14 res = float(x)*float(y) 15 if '/' in chengchu_s: 16 x, y = chengchu_s.split('/') 17 res = float(x)/float(y) 18 re_string = re_string.replace(chengchu_s, str(res)) 19 re_string =chulifuhao(re_string) 20 continue 21 break 22 富强、民主、文明、和谐、自由、平等、公正、法治、爱国、敬业、诚信、友善 23 def chulifuhao(a): 24 if '--' in a: 25 a = a.replace('--','+') 26 if '++' in a: 27 a = a.replace('++','+') 28 if '+-' in a: 29 a = a.replace('+-','-') 30 if '-+' in a: 31 a = a.replace('-+','-') 32 return a 33 34 富强、民主、文明、和谐、自由、平等、公正、法治、爱国、敬业、诚信、友善
大致为接受用户定义的运算公式包括定义去括号,优先级,正常运算,返回运算值并且运用了正则运算
五。运行结果
六。单元测试结果
七。总结
虽然以前也使用过py做计算器。三行代码就出来了但是像这种不使用eval()还是第一次制作还是有很多不完善 刚开始毫无头绪慢慢开始自己构思在网上找一些资料 也运用正则运算的方式简化代码结构一点点完成还是很有喜悦感的。
刚开始的需求分析方向也出现了错误之前的计划全部打乱
在实际构造中也多次出现了问题程序添加错乱 无效代码也非常的多 写的方向还偏离了 造成倒退
对py的操作还是不够熟练git还不知如何运用
收获就是在知识上的扩充。思维上的扩展知道自己到底处于什么样的状态离真正的程序员差距正视自己更加的奋斗