个人作业1--四则运算题目生成程序

一、题目描述:

看了大家对于本课程的目标和规划,很多同学都希望能提高自己的实践能力,没有捷径可走,就是练习、练习再练习!那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序
从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:
1.除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
2.运算符为 +, −, ×, ÷
3.并且要求能处理用户的输入,并判断对错,打分统计正确率。
4.要求能处理用户输入的真分数, 如 1/2, 5/12 等
5.使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
Myapp.exe -n 10

二、分析

1.需要生成随机数,用Random.randint生成整数,fraction生成分数
2.采用循环结构生成相应数目的题目

opr = ['+','-','×','÷']
n=int(input("Please input the numbers of titles: "))
while i<n:

    n1=random.randint(1,10)
    n2=random.randint(1,10)
    n3=random.randint(1,10)
    n4=random.randint(1,10)
    
    if n2==1:
        x=n1
    else:
        x=fractions.Fraction(n1,n2)
    if n4==1:
        y=n2
    else:
        assert isinstance(n4, object)
        y=fractions.Fraction(n2,n4)
    fh = random.randint(0, 3)
    if fh==0:
        result=x+y  
    elif fh==1:
        result=x-y   
    elif fh==2:
        result=x*y    
    elif fh==3:
        result=x/y

3.判断题目的对错,并统计正确题目数量

faker=str(result)

    if faker ==answer:         # 正确
        temp=temp+1
        print ("You are right!")
    else:                         # 错误
        print ('You are wrong, the right answer is %s' % result)
    i += 1
print  ("您答对%d题" % temp)

4.实验环境:使用python3.4实现
5.测试运行:
1112357-20170307111538688-660440520.png

6.源代码:https://git.coding.net/Amber9611/yunsuan.git

三、PSP过程:

1112357-20170307120652797-875984882.png

四、小结

此程序基于python3.4环境下实现,由于刚开始学习python语言,对random函数的使用方法还不够了解,通过查阅资料解决了这一问题,对于分数的输入不懂用何种函数,通过询问同学用fraction函数实现此功能,且python对于缩进有严格要求,有时缩进不当调试时老出现错误,后慢慢修改,问题得以解决。今后应加强编程的练习,遇到不懂的问题要多问多查阅资料。

转载于:https://www.cnblogs.com/Amber9611/p/6513993.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值