作业13:四则运算升级
Posted noob
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作业13:四则运算升级相关的知识,希望对你有一定的参考价值。
一、代码
1 import random 2 from fractions import Fraction 3 def zs(): 4 5 fz= [\'+\', \'-\', \'×\', \'÷\']#随机选择运算法则 6 7 f= random.randint(0, 3) 8 9 n1 = random.randint(0,99) 10 11 n2 = random.randint(0,99) 12 13 result = 0 14 15 if f== 0:#加法 16 17 result = n1 + n2 18 19 elif f == 1:#减法,要先比较大小,防止输出负数 20 21 n1, n2 = max(n1, n2), min(n1, n2) 22 23 result = n1 - n2 24 25 elif f== 2:#乘法 26 27 result = n1 * n2 28 29 elif f == 3:#除法 30 n2 = random.randint(1,99) 31 32 result = n1 / n2 33 34 print(n1, fz[f], n2, \'= \', end=\'\') 35 36 return result 37 def xs(): 38 39 fz= [\'+\', \'-\', \'×\', \'÷\'] 40 41 f= random.randint(0, 3) 42 43 x1 = random.randint(0,20)#生成2个真分数,约分通分较复杂所以数值设的较小 44 if x1==0: 45 x2 = random.randint(1,20) 46 else: 47 x2 = random.randint(x1,20) 48 x3 = random.randint(0,20) 49 if x3==0: 50 x4 = random.randint(1,20) 51 else: 52 x4 = random.randint(x3,20) 53 n1 = Fraction(x1,x2) 54 n2 = Fraction(x3,x4) 55 result = 0 56 57 if f== 0:#加法 58 59 result = n1 + n2 60 61 elif f == 1:#减法,要先比较大小,防止输出负数 62 63 n1, n2 = max(n1, n2), min(n1, n2) 64 65 result = n1 - n2 66 67 elif f== 2:#乘法 68 69 result = n1 * n2 70 71 elif f == 3:#除法 72 73 result = n1 / n2 74 75 print(n1, fz[f], n2, \'= \', end=\'\') 76 77 return result 78 def chuti(): 79 x= random.randint(1,2) 80 if x==1: 81 result=str(zs()) 82 elif x==2: 83 result=str(xs()) 84 return result 85 86 #制作题库 87 88 def test(): 89 print(\'输入所需要的题目数量\') 90 91 n=int(input()) 92 93 result =[] 94 95 m=0 96 97 while m<=(n-1): 98 99 print(m+1,end=\'、\') 100 result .append(chuti()) 101 print(\' \') 102 m=m+1 103 104 m=0 105 106 print(\'对应的答案:\') 107 108 while m<=(n-1): 109 110 print(m+1,\'、\',result [m]) 111 112 m=m+1 113 114 115 116 print(\'选择想要的模式\') 117 118 print(\'1、进行单道四则运算\') 119 120 print(\'2、制作题库\') 121 122 n=int(input()) 123 124 #当输入1时,进行单道四则运算 125 126 if n==1: 127 128 while True: 129 x= random.randint(1,2)#随机选择整数或者分数的题型 130 if x==1: 131 result=str(zs()) 132 y=input() 133 if y==result: 134 print(\'答对了\') 135 else: 136 print(\'答错了,正确答案是:\',result) 137 elif x==2: 138 result=str(xs()) 139 y=input() 140 if y==result: 141 print(\'答对了\') 142 else: 143 print(\'答错了,正确答案是:\',result) 144 #当输入2时,进行制作题库 145 146 if n==2: 147 148 test() 149
二、运行测试
三、性能分析
以上是关于作业13:四则运算升级的主要内容,如果未能解决你的问题,请参考以下文章