1. 需求分析(红色表示没有实现的功能)
    1. 除了整数以外,还要支持真分数的四则运算,真分数的运算。
    2. 运算符为 +, −, ×, ÷。
    3. 并且要求能处理用户的输入,并判断对错,打分统计正确率
    4. 要求能处理用户输入的真分数。
    5. 使用 -n 参数控制生成题目的个数。
  2. 功能设计
    • 本次作业使用的语言是Python,因本人Java并不是特别好,暑假有在自学Python的相关内容,所以才尝试使用Python语言来完成,并参考网上一些代码和Python学习群上群主的建议来完成本次作业。
    • 本次代码的功能主要分为两点
      • 输入题目数量。
      • 判断正确与否。
  3. 设计实现
    1. 实现生成题目数量
    2. 判断题目正确与否
    3. 输入题目正确数量
  4. 代码说明
    1. # coding=gbk
      import random
      import fractions
      import string
      i=0  
      result=0  
      temp=0  
      print"Please enter the number of questions how many you want to generate"
      n=input()
      while i<n:
      
          first_num=random.randint(1,10)  #方法返回随机生成的一个实数,范围在(1,10)之间
          second_num=random.randint(1,10)
          third_num=random.randint(1,10)
          fourth_num=random.randint(1,10)
          a = random.choice("+-*/")
          if second_num==1:  #用if语句生成公式内的数字
              x=first_num
          else:
              x=fractions.Fraction(first_num,second_num)
          if fourth_num==1:
              y=second_num
          else:
              assert isinstance(fourth_num, object)
              y=fractions.Fraction(second_num,fourth_num)
          if a=="+":  #用if循环生成+,-,*,/,这四个算数
              result=x+y
              faker=str(result)
              print  x,a,y,"="
          elif a=="-":
              result=x-y
              faker=str(result) #生成字符型
              print x,a,y,"="
          elif a=="*":
              result=x*y
              faker=str(result)
              print x,"x",y,"="
          elif a=="/":
              result=x/y
              faker=str(result)
              print x,"/",y,"="
          answer=raw_input()
      
          if faker ==answer:         # 判断答案是否正确
              temp=temp+1
              print "right'!'"
          else:                      # 判断答案是否错误
              print 'error. the right answer is %s' % result
          i += 1  
      print  "there are %d question you are right answer" % temp

       

    2.