zoukankan      html  css  js  c++  java
  • 第五次作业——四则运算

    【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

  • 相关阅读:
    RK 清理后台所有历史App任务
    RK onConfigurationChanged ConfigChanges 设备状态的改变
    RK audio 拨号同时输出Speaker和USB音频
    RK 微信视频通话预览倒立
    Unity 笔记
    C# 泛型约束为枚举
    Unity Editor 扩展PropertyDrawer (属性的 Inspector )
    Unity Editor 笔记
    Unity 反转法线,在 Hierarchy 视图对象的快捷菜单中增加 Flip Mesh Normals(反转网格法线)项
    Blender 2.9 骨骼
  • 原文地址:https://www.cnblogs.com/axho/p/8881932.html
Copyright © 2011-2022 走看看