zoukankan      html  css  js  c++  java
  • 小学生四则运算

    Github地址

    https://github.com/SG-Zhang-X/Dokey/blob/mySE/%E5%B0%8F%E5%AD%A6%E7%94%9F%E5%9B%9B%E5%88%99%E8%BF%90%E7%AE%97

    解题思路

    题目要求小学生的四则运算,根据小学生水平划分为三年级以下水平和三年级以上水平,三年级以下选择难度一,100以内两个数字加减法,三年级以上学生选择难度一,带有真分数的四则运算。

    实现过程

      共有5个函数

    LowCalculate()实现两个数字的加减运算

    ProperFraction()产生真分数

    blacket()实现带真分数的四则运算

    Select()选择难度等级,输出正确结果以及准确率

    if __name__ == '__main__':主函数

    代码实现

    import random
    def LowCalculate():#三年级以下题目,只涉及两个数字的加减运算
        while(True):
            integer1 =random.randint(1, 100)
            integer2 =random.randint(1, 100)
            if (integer1 - integer1>0):
                integer1 = integer1
                integer2 = integer2
            break
        lowsymbol = random.choice("+-")
        if eval(str(integer1)+str(lowsymbol)+str(integer2))>0:
            return str(integer1)+str(lowsymbol)+str(integer2)
    def ProperFraction():#产生真分数
        while(True):
            molecular = random.randint(1,100)  #分子
            denominator = random.randint(1,100)  #分母
            if(molecular<denominator):
                return str(molecular)+"/"+str(denominator)
                break
    def blacket():#产生三年级以上题目,含真分数的四则运算
        left="("
        right=")"
        integer=str(random.randint(1,100))
        symbol=random.choice("+-*/")
        fraction=ProperFraction()
        if eval(integer+symbol+fraction)>0:
            return left+integer+symbol+fraction+right
    def Select():
        if choice == '1':
            k=0
            for i in range (5):
                a = LowCalculate()
                a = str(a)
                b = eval(a)
                print( a ,"=","请输入答案")
                answer = input()
                answer = int(answer)
                if (abs(answer - b)) == 0:
                    k=k+1
                    print("你的回答正确")
                else:
                    print("答案错误", "正确答案是:", b)
            print("你一共答对了", k, "", "准确率为:", k / 5)
        if choice == '2':
            count=0
            for i in range (5):
                a=blacket()
                b=str(random.choice("+-*/"))
                c=ProperFraction()
                if eval(a+b+c)>0:
                    print(a,b,c,"=","    请输入答案:")
                answer = input()
                answer = float(answer)
                if (abs(answer-eval(a+b+c)))<0.1:
                    count=count+1
                    print("你的回答正确","准确答案是:",eval(a+b+c))
                else:
                    print("答案错误","正确答案是:",eval(a+b+c))
            print("你一共答对了",count,"","准确率为:",count/5)
    
    if __name__ == '__main__':
        print("请选择难度,"
              "三年级以下请输入1",
              "三年级以上请输入2")
        choice = input()
        X=Select()
    运行结果
    
    

     

    性能分析图

     

     

    PSP时间表

    PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
    Planning 计划  8  7
    · Estimate · 估计这个任务需要多少时间  300  400
    Development 开发  200  390
    · Analysis · 需求分析 (包括学习新技术)  20  40
    · Design Spec · 生成设计文档 10 15
    · Design Review · 设计复审 (和同事审核设计文档)  10 15
    · Coding Standard · 代码规范 (为目前的开发制定合适的规范)  15 30
    · Design · 具体设计  30 50
    · Coding · 具体编码  100 150
    · Code Review · 代码复审  20 30
    · Test · 测试(自我测试,修改代码,提交修改)  40 60
    Reporting 报告  40 60 
    · Test Report · 测试报告  20 30 
    · Size Measurement · 计算工作量  10 10 
    · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划  10 20 
    合计    258  
    457
  • 相关阅读:
    〖Linux〗Kubuntu设置打开应用时就只在打开时的工作区显示
    〖Linux〗Kubuntu, the application 'Google Chrome' has requested to open the wallet 'kdewallet'解决方法
    unity, dll is not allowed to be included or could not be found
    android check box 自定义图片
    unity, ios skin crash
    unity, Collider2D.bounds的一个坑
    unity, ContentSizeFitter立即生效
    类里的通用成员函数应声明为static
    unity, Gizmos.DrawMesh一个坑
    直线切割凹多边形
  • 原文地址:https://www.cnblogs.com/SGzhang/p/13700991.html
Copyright © 2011-2022 走看看