• 小学四则运算的简单实现


    GitHub项目地址:https://github.com/fangzehui22/SiZeYunSuan

    一、PSP

    PSP

    Personal Software Process Stages

    预估耗时(分钟)

    · Planning

    · 计划

    10

    · Estimate

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

    20

    · Development

    · 开发

    800

    · Analysis

    · 需求分析

    40

    · Coding Standard

    · 代码规范

    5

    · Design

    · 具体设计

    40

    · Coding

    · 具体编码

    6h

    · Test

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

    3h

    · Reporting

    · 报告

    5h

    · Test Report

    · 测试报告、博客

    4h

    · Postmortem

    · 事后总结

    30

    合计

     

    2084

    二、题目要求

    (1)能自动生成小学四则运算题目

    (2)除了整数外,还支持真分数的四则运算

    三、解题思路

          刚看到这个作业题目的时候一脸懵逼,小学四则运算听起来好像很简单,但是要用python代码实现出来对我来说还是有一定的难度,所以就先去网上找资料,想参考一下别人的思路,自己才知道从哪里下手。需要注意的是,因为小学生没有学过负数,所以计算结果不能出现负数。根据运算规则,除法的分母不能为0。

    四、实现过程

          在写代码时,利用循环分别随机生成加减乘除的题目,并判断用户的输入结果是否正确。如果正确,则打钩;如果错误,则打叉并给出正确答案。

    五、具体代码

     1 import random
     2 
     3 opr = ['','','×','÷']
     4 
     5 ch = '0'
     6 
     7 print('输入 "exit" 退出')
     8 
     9 while True:
    10 
    11     fh = random.randint(0, 3)
    12 
    13     n1 = random.randint(1, 10) #1<n1<10
    14 
    15     n2 = random.randint(1, 10) #1<n2<10
    16 
    17     rjg = 0
    18 
    19     if fh == 0:    #
    20 
    21         rch = n1 + n2
    22 
    23     elif fh == 1:  #
    24 
    25         n1,n2 = max(n1,n2),min(n1,n2) #确保用大的数减去小的数
    26 
    27         rch = n1 - n2
    28 
    29     elif fh == 2:  #
    30 
    31         rch = n1 * n2
    32 
    33     elif fh == 3:  #
    34 
    35         n1,n2 = max(n1,n2),min(n1,n2)
    36 
    37         while n1 % n2 != 0:
    38 
    39             n1 = random.randint(1, 10)
    40 
    41             n2 = random.randint(1, 10)
    42 
    43             n1,n2 = max(n1,n2),min(n1,n2)
    44 
    45         rch = int(n1 / n2)
    46 
    47     print(n1, opr[fh], n2, '= ', end='')#自动生成题目
    48 
    49     ch = input()  #用户答案
    50 
    51     if ch == 'exit':  #输入exit则退出
    52 
    53         break
    54 
    55     sr = int(ch)
    56 
    57     if int(sr) == rch:
    58 
    59         print('')
    60 
    61     else:
    62 
    63         print('×,答案:', rch)

    六、测试运行

     

     

    七、PSP

    PSP

    Personal Software Process Stages

    实际耗时(分钟)

    · Planning

    · 计划

    8

    · Estimate

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

    15

    · Development

    · 开发

    820

    · Analysis

    · 需求分析

    50

    · Coding Standard

    · 代码规范

    5

    · Design

    · 具体设计

    60

    · Coding

    · 具体编码

    8h

    · Test

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

    4h

    · Reporting

    · 报告

    400

    · Test Report

    · 测试报告、博客

    5h

    · Postmortem

    · 事后总结

    40

    合计

     

    2713

     

  • 相关阅读:
    数字图像处理领域就业前景
    opencv 学习方法
    学习opencv tutorials
    win64+VS2010+OPENCV2.4.9配置问题
    libsvm使用步骤
    生成libSVM的数据格式及使用方法
    一堆应该记住的概念
    static静态变量的理解
    C程第一节课
    扫雷但是不会恭喜
  • 原文地址:https://www.cnblogs.com/fangzehui/p/8882419.html
Copyright © 2020-2023  润新知