标签:random randint 四则运算 re n1 n2 100
任务需求:
1.输入一个数n,能生成n道四则运算的题目
2.题目较为简单,数字在1-100之间
思路
分为三个部分,函数oprint()用于生成整数算式
def oprint():#整数四则运算
opr = ['+', '-', '×', '÷']
j = random.randint(0, 3)
n1 = random.randint(0, 100)
n2 = random.randint(0, 100)
re = 0
if j == 0:
re = n1 + n2
elif j == 1:
n1, n2 = max(n1, n2), min(n1, n2)
re = n1 - n2
elif j == 2:
re = n1 * n2
elif j == 3:
n1, n2 = max(n1, n2), min(n1, n2)
while n1 % n2 != 0:
n1 = random.randint(0, 100)
n2 = random.randint(0, 100)
n1, n2 = max(n1, n2), min(n1, n2)
re = int(n1 / n2)
print(n1, opr[j], n2, '= ', end='')
return re
函数oprfra()用于生成分数算式
def oprfra():
opr = ['+', '-', '×', '÷']
j = random.randint(0, 3)
t1 = random.randint(1, 100)
t2 = random.randint(t1, 100)
n1 = Fraction(t1, t2)
t1 = random.randint(1, 100)
t2 = random.randint(t1, 100)
n2 = Fraction(t1, t2)
re = 0
if j == 0:
re = n1 + n2
elif j == 1:
n1, n2 = max(n1, n2), min(n1, n2)
re = n1 - n2
elif j == 2:
re = n1 * n2
elif j == 3:
n1, n2 = max(n1, n2), min(n1, n2)
re = n1 / n2
print(n1, opr[j], n2, '= ', end='')
return re
函数test()用于生成题目及答案
def test():
opr = ['+', '-', '×', '÷']
print('输入题库所需要的题目数量')
n=int(input())
re=[]
m=0
while m<=(n-1):
j = random.randint(0, 1)
if j==0:
print(m+1,end='、')
re.append(oprfra())
print(' ')
else:
print(m+1,end='、')
re.append(oprint())
print(' ')
m=m+1
m=0
print('答案:')
while m<=(n-1):
print(m+1,'、',re[m])
m=m+1
test()
运行结果:
还能改进的地方
1.能作答,作答后判断正误并给出答案
2.整数和分数能同时计算
3.能计算括号
PSP
内容 | 预估耗时(分钟) | 实际耗时(分钟) |
估计这个任务需要多长时间 | 120 | 160 |
需求分析 | 10 | 10 |
生成设计文档 | / | / |
设计复审 | / | / |
代码规范 | / | / |
具体设计 | 100 | 100 |
代码复审 | 20 | 20 |
测试 | 10 | 10 |
测试报告 | 10 | 10 |
计算工作量 | 5 | 5 |
事后总结,并提出过程改进计划 | 5 | 5 |
标签:random,randint,四则运算,re,n1,n2,100 来源: https://www.cnblogs.com/lulingboke/p/15317975.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。