软件工程的四则运算

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(03)
 
    n1 = random.randint(120)
 
    n2 = random.randint(120)
 
    result = 0
 
    if f== 0:#加法
 
       result  = n1 + n2
 
    elif == 1:#减法,要先比较大小,防止输出负数
 
        n1, n2 = max(n1, n2), min(n1, n2)
 
        result  = n1 - n2
 
    elif f== 2:#乘法
 
        result  = n1 * n2
 
    elif == 3:#除法,要比较大小,并循环取整除
 
        n1, n2 = max(n1, n2), min(n1, n2)
 
        while n1 % n2 != 0:
 
            n1 = random.randint(110)
 
            n2 = random.randint(110)
 
            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、思路改进

...

...

 

 

posted @ 2020-09-21 15:59  美人佳景  阅读(183)  评论(0编辑  收藏  举报