第五次作业——四则运算

 

【Github项目地址】

https://github.com/axh10086/test

【PSP表格】

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

10

 

· Estimate

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

10

 

Development

开发

655

 

· Analysis

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

30

 

· Design Spec

· 生成设计文档

30

 

· Design Review

· 设计复审 (和同事审核设计文档)

10

 

· Coding Standard

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

5

 

· Design

· 具体设计

40

 

· Coding

· 具体编码

5h*60

 

· Code Review

· 代码复审

1h*60

 

· Test

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

3h*60

 

Reporting

报告

290

 

· Test Report

· 测试报告+博客

4h*60

 

· Size Measurement

· 计算工作量

10

 

· Postmortem & Process Improvement Plan

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

40

 

合计

 

955

 

 

【解题思路描述】

首先,用import random” random.randint(n,m)”来完成随机数的产生的生成运算。

与用户输入的答案进行匹配,判断对错

【设计实现过程】

该代码较简单,没有将四种运算分为四种单独的函数进行编程。

代码首先将四则运算包含在一个数组中,并且随机选择其中一种运算。随机生成两个十进制的整数,进行加减乘除四种运算。最后将用户输入的答案与正确答案进行比较。

 

【代码说明】

展示出项目关键代码,并解释思路与注释说明。

 

 1 import random
 2 opr = ['','','×','÷']      #四则运算的选择
 3 jg = '0'
 4 print('输入 "0000" 可退出')
 5 while True:
 6     fh = random.randint(0, 3) #fh可取0,1,2,3
 7     n1 = random.randint(1, 10) #n1为1~10范围内的数
 8     n2 = random.randint(1, 10) #n2为1~10范围内的数
 9     rjg = 0
10     if fh == 0:  #加法
11         rjg = n1 + n2
12     elif fh == 1: #减法
13         n1,n2 = max(n1,n2),min(n1,n2) #因为不能出现负数 所以用大的值减去小的值
14         rjg = n1 - n2
15     elif fh == 2:#乘法
16         rjg = n1 * n2
17     elif fh == 3:#除法
18         n1,n2 = max(n1,n2),min(n1,n2)
19         while n1 % n2 != 0:#只考虑整除的情况
20             n1 = random.randint(1, 10)
21             n2 = random.randint(1, 10)
22             n1,n2 = max(n1,n2),min(n1,n2)#保证用大的数除以小的数
23         rjg = int(n1 / n2)
24  
25     print(n1, opr[fh], n2, '= ', end='')#输出题目
26     jg = input()#输入答案
27     if jg == '0000':#输入0000 意为退出
28         break
29     sr = int(jg)
30     if int(sr) == rjg:#如果输入答案与正确答案相等 则输出 正确
31         print('正确')
32     else:
33         print('错误,正确答案为:', rjg)

 

【测试运行】截图

 

【效能分析】

本代码十分简易 没有复杂的考虑到分数的四则运算 而只考虑了整数的实现 这是十分不足的地方

 

PSP表格记录下程序的各个模块上实际花费的时间

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

10

8

· Estimate

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

10

8

Development

开发

655

785

· Analysis

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

30

35

· Design Spec

· 生成设计文档

30

40

· Design Review

· 设计复审 (和同事审核设计文档)

10

15

· Coding Standard

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

5

5

· Design

· 具体设计

40

60

· Coding

· 具体编码

300

420

· Code Review

· 代码复审

60

90

· Test

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

180

120

Reporting

报告

290

330

· Test Report

· 测试报告+博客

4h*60

4.5h*60

· Size Measurement

· 计算工作量

10

10

· Postmortem & Process Improvement Plan

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

40

50

合计

 

955

1123

posted on 2018-04-19 13:07  艾晓晗  阅读(196)  评论(0编辑  收藏  举报