python实现计算器功能_用python实现计算器功能

我这个项目的码云地址是https://gitee.com/chitu_heshui/personal_project41678.git

表格记录了我预期做这个项目的时间和实际上消耗的时间

PSP2.1

Personal Software ProcessStages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

440

410

Estimate

估计这个任务需要多少时间

440

410

Development

开发

200

180

Analiysis

需求分析(包括学习新技术)

30

20

Design Spec

生成设计文档

20

15

Design Review

设计复审

Coding Standard

代码规范(为目前的开发制定合适的规范)

20

15

Design

具体设计

20

20

Coding

具体编码

60

70

Test

测试(自我测试,修改代码,提交修改)

30

30

Reporting

报告

Test Repor

测试报告

Size Measurement

计算工作量

Postmortem & Process Improvement Plan

事后总结,并提出过程改进计划

60

60

合计

440

410

计算器的流程图

1296240-20181109151719847-2093709069.png

写这个计算器的时候遇到了正则表达式来判断输入的值,这是上学期在数据结构学到的但是忘了,所以就在百度上找了一些博客来学习,

还有就是加减乘除出运算时处理的函数也是在百度上找的,自己研究了好久,挺好玩的,

这是从命令提示行获取代码:

parser=argparse.ArgumentParser(description='Process some inteqers.')

parser.add_argument("one",type=str)

args=parser.parse_args()

String = args.one

这是运算的部分代码:

def getValue(exp):

def value(exp, i):

deque = []

pre = 0

while i < len(exp) and exp[i] != ')':

if ord(exp[i]) >= ord('0') and ord(exp[i]) <= ord('9'):

pre = pre * 10 + int(exp[i])

i += 1

elif exp[i] != '(':

addNum(deque, pre)

deque.append(exp[i])

i += 1

pre = 0

else:

bra = value(exp, i + 1)

pre = bra[0]

i = bra[1] + 1

addNum(deque, pre)

return [getNum(deque), i]

这是正则判断的代码:

jisuan=re.compile("^(\(*\d+(.\d+)*\)*(\+|-|/|\*))+\d+(.\d+)*\)*$")

程序会获取从命令行输入的字符串并将其从命令行窗口显示出来

1296240-20181109152244462-1174613205.png

我遇到了一个问题就是test测试的时候定义方法名字的时候必须要以test_开头,否则就不会测试,测试用例,这个坑我踩了好久

1296240-20181109153301862-928233117.png

总结:通过大伟老师安排我软件工程这门课,深深体会到有些东西必须得经历的,就是(趟坑)坑踩多了就好了,这是一个过程,使得我们如何快速的解决问题,要养成良好的编程习惯。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值