自动生成小学四则运算题目

博客班级 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19
作业要求 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11376
作业目标 可以根据用户要求自动生成数量确定,类型确定,运算符号确定,可以判定用户计算是否正确的程序
学号 3190704108

利用随机数生成题目

import random
from fractions import Fraction

整数四则运算生成题目函数:

def arithmetic (a,b):

print("提示:除法写出整数部分即可:")
score=0

for i in range(1,b+1): 
    operator=['+','-','*','/']
    add1=random.randint(1,100)
    add2=random.randint(1,100)
    eq=str(add1)+operator[a]+str(add2)
    equal=eval(eq)
    print("question%d: %s="%(i,eq))
    answerer=int(input("请输入你的答案:"))
    if answerer==equal:
        print("你的回答正确!")
        score+=1
        print("得分%d"%score)
    else:
        print("你的回答错误,正确答案是:%d" %equal)

分数四则运算法则

def proper(a,b):
score=0

for i in range(1,b+1):
    operator=['+','-','*','/']
    mol1=random.randint(1,100)
    den1=random.randint(1,100)
    mol2=random.randint(1,100)
    den2=random.randint(1,100)
    if mol1>=den1 or mol2>=den2:
        b=b+1
        
    else:
        grade1=Fraction(mol1,den1)
        grade2=Fraction(mol2,den2)
        operator=['+','-','*','/']
        eq=str(grade1)+operator[a]+str(grade2)
        equal=eval(eq)
        print("question%d:%s="%(i,eq))
        answer1=int(input("请输入你答案的分子数:"))
        answer2=int(input("请输入你答案的分母数:"))
        answwerer=Fraction(answer1,answer2)
        if answwerer==equal:
            print("你的答案正确!")
            score+=1
            print("得分:%d"%score)#输出用户的得分
        else:
            print("你输入的答案有误")

运行界面:

任务内容 计划完成需要的时间(min) 计划完成需要的时间(min)
计划 10 20
估计这个任务需要多少时间,并规划大致工作步骤 100 150
开发 300 400
需求分析(包括学习新技术) 200 100
生成设计文档 10 5
设计复审 10 10
代码规范 35 30
具体设计 0 30
具体编码 0 0
代码复审 10 20
测试(自我测试,修改代码,提交修改) 10 10
报告 0 0
测试报告 0 0
计算工作量 500 600
事后总结,并提出过程改进计划 30 30

总结感想:

首先我感觉到python这门语言真的具有,特别对于我们这些用过 c语言的同学来说,用python有一种幸福感。这次做作业,我遇到很多不会的,但是通过上网,和我的学霸室友都给解决了。想要学好,上课认真挺少不了,但是实践同样很重要,让我跟加确信要去参加一些。以比赛促进学习,可能真是一个好办法。还有就是这次写的程序,因为时间快要到了,还有很多的不足要去完善。比如用户没有按照要求去输入数字该怎么出了。整数除法得到是无尽小数怎么排除出现这种题目生成。自己还有很多地方要去提高。

原文地址:https://www.cnblogs.com/xiaomuqiao/p/13885762.html