zoukankan      html  css  js  c++  java
  • 小学四则运算法则训练

    PSP表格:

     解题思路:

    算式的随机抽取---结果正误及时判断---整数除法的分数表达

    实现过程:

    Fraction(n1, n2)函数的使用使得结果可以得出一个分数。

    自定义函数f()来实现假分数变为带分数。

    代码实现:

     1 import random
     2 #四则运算
     3 from fractions import Fraction
     4 def f(f):#分数的转换
     5     a=f.numerator #分子
     6     b=f.denominator #分母
     7     if a%b==0:#为整数
     8         return '%d'%(a/b)
     9     elif a<b:#为真分数
    10         return '%d%s%d' % (a,'/',b)
    11     else:#为带分数
    12         c=int(a/b)
    13         a = a - c * b
    14         return '%d%s%d%s%d' % (c,'',a,'/',b)
    15 def ysfz():
    16     sym = ['', '', '×', '÷']
    17     f= random.randint(0, 3)
    18     n1 = random.randint(1, 20)
    19     n2 = random.randint(1, 20)
    20     result = 0
    21     if f== 0:#加法
    22        result  = n1 + n2
    23     elif f == 1:#减法,要先比较大小,防止输出负数
    24         n1, n2 = max(n1, n2), min(n1, n2)
    25         result  = n1 - n2
    26     elif f== 2:#乘法
    27         result  = n1 * n2
    28     elif f == 3:#除法,要比较大小
    29        
    30         result =Fraction(n1, n2)
    31     print(n1, sym[f], n2, '= ', end='')
    32 
    33     return result
    34 print('请输入1进行四则运算') 
    35 n=int(input())
    36 #当输入1时,进行四则运算,调用函数syzs()
    37 if n==1:
    38     while True:
    39         result  = ysfz()
    40         j= input()
    41        
    42         if j== f(result ):
    43             print('well',f(result))
    44         else:
    45             print('more again,the answer is', f(result))

    测试运行:

  • 相关阅读:
    [转]解决ORACEL数据库“exp导出老是出现ORA-00904”
    教程
    [转]web初学者需要掌握哪些技术
    sublime的使用技巧
    安装Sublime Text
    memcached内存分类机制
    Java生产者和消费者
    一致性哈希原理及应用浅析
    Java线程状态分析
    Java多线程中断机制
  • 原文地址:https://www.cnblogs.com/wxyzzj/p/13764683.html
Copyright © 2011-2022 走看看