Python 官方文档:入门教程 => 点击学习
一、题目描述 目录 一、题目描述 1、编写一个能随机出题的四则运算的小程序 2、测试输入 3、预期输出 二、相关知识 1、random.seed() 2、random.random() 3、random.randint(参数1,参数2)
目录
4、random.randrange(参数1,参数2,参数3)
输入三个数字,第一个表示出题数量,第二个表示参与计算的最大数字,第三个表示运算结果。
random.seed()是设置一个随机数种子
返回一个随机生成的浮点数,范围在0~1之间
随机生成在参数1与参数2之间的整数(包括参数1、2),两个整数分别表示上下限
(注:参数1,参数2都必须是整数)
例:
import randomresult = random.randint(1,10) #返回 [1, 10] 之间的任意整数print("result: ",result)#输出:#result: 6
在指定范围内,按指定基数递增的集合中获得一个随机数,有三个参数,前两个参数代表范围下限和上限,第三个参数是递增增量,包括下限,不包括上限。
例:
random.randrange( 0,11,2)#随机产生范围为10间隔为2的数。#即随机输出(0,2,4,6,8,10)中的一个。
从序列中随机选取一个数
例:
随机排列list中的数值
例:
题目要求编写一个calculator(num,m)函数,传入参数分别由你,maximum接收
因为需要统计正确率,所以引入参数correct
correct = 0
要产生n道题目,这里使用for循环
for i in range(n):
使用random函数来获取题目的数值,用a,b接收
b = random.randint(0, maximum)
a = random.randint(b, maximum) #因为题目保证减法不出现负数,所以这里下限为b
然后打印式子,并输入计算结果,如果计算正确,则correct加一,统计正确个数
print(f'{a}+{b}=', end='')
result = float(input())
if result == eval(f"{a}+{b}"):
correct = correct + 1
print("恭喜你,回答正确")
最后输出答对题数及正确率
print('答对{correct}题,正确率为{correct / n * 100}%'.fORMat(correct,correct / n * 100))
import randomrandom.seed(0)def calculator(n, maximum): """随机产生n道正整数四则运算的题目,用户输入计算结果, 判断输入正确与否,并统计正确率。题目保证减法不出现负数.""" correct = 0 for i in range(n): # 循环n次,每次产生一个新问题 b = random.randint(0, maximum) # 随机产生一个maximum以内整数 a = random.randint(b, maximum) # 随机产生一个b到maximum以内整数,避免减法出现负数 #################Begin############################## print(f'{a}+{b}=', end='') result = float(input()) if result == eval(f"{a}+{b}"): correct = correct + 1 print("恭喜你,回答正确") #################End############################## print('答对{correct}题,正确率为{correct / n * 100}%'.format(correct,correct / n * 100))if __name__ == '__main__': num = int(input('请输入出题数量:')) m = int(input('请输入参与计算的最大数字:')) calculator(num, m)
喜欢的话记得三连哦~~~
感谢支持!!!
来源地址:https://blog.csdn.net/yc60856/article/details/130610964
--结束END--
本文标题: python作业题——“随机出题的四则运算”
本文链接: https://lsjlt.com/news/421782.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0