软件工程的四则运算
1、github地址:https://github.com/h15986230342/-.git
题目要求:
能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!)
除了整数外,还要支持真分数的四则运算
2、PSP表格
PSP表格估计程序的各个模块的开发上耗费的时间,以及最后对各个操作的实际用时统计
PSP2.1 |
Personal Software Process Stages |
预估耗时(min) |
实际耗时(min) |
Planning |
计划 |
20 |
35 |
Estimate |
估计这个任务需要多少时间 |
5 |
5 |
Development |
开发 |
45 |
90 |
Analysis |
需求分析(包括学习新技术) |
20 |
30 |
Design Spec |
生成设计文档 |
20 |
20 |
Design |
具体设计 |
30 |
30 |
Code |
具体编码 |
30 |
45 |
Test |
测试(自我测试,修改代码,提交修改) |
30 |
60 |
Reporting |
报告 |
15 |
20 |
Summary |
合计 |
215 |
335
|
3、项目思路:
①四则运算,采用两个随机数进行加减乘除;
②在对两个随机数进行减法运算的时候,为了避免出现负数,需要先比较大小,再用大数减去小数;
③在对两个随机数进行加法运算的时候,要把结果控制在100以内;
④在除法在运算中,除数不能取0;
⑤全过程避免出现假分数
4、设计实现过程
(1)定义函数:用def szys()实现随机生成四则运算
(2)代码分为两部分,第一部分是随机生成四则运算函数,程序输出算式并返回正确答案;
第二部分是主函数,用户输入数字1进行四则运算,通过调用syzs()函数得到算式和返回值,用户输入答案后,便与用户输入值进行比较。
5、代码说明
源代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
import profile #测试性能 import random #四则运算 def szys(): sym = [ '+' , '-' , '×' , '÷' ] f = random.randint( 0 , 3 ) n1 = random.randint( 1 , 20 ) n2 = random.randint( 1 , 20 ) result = 0 if f = = 0 : #加法 result = n1 + n2 elif f = = 1 : #减法,要先比较大小,防止输出负数 n1, n2 = max (n1, n2), min (n1, n2) result = n1 - n2 elif f = = 2 : #乘法 result = n1 * n2 elif f = = 3 : #除法,要比较大小,并循环取整除 n1, n2 = max (n1, n2), min (n1, n2) while n1 % n2 ! = 0 : n1 = random.randint( 1 , 10 ) n2 = random.randint( 1 , 10 ) n1, n2 = max (n1, n2), min (n1, n2) result = int (n1 / n2) print (n1, sym[f], n2, '= ' , end = '') return result print ( '输入数字1进行四则运算' ) n = int ( input ()) #当输入1时,进行四则运算,调用函数syzs() if n = = 1 : while True : result = szys() j = input () s = int (j) if s = = result : print ( 'right' ) else : print ( 'error.,the answer is' , result ) |
6、测试运行
7、思路改进
...
...