一、题目描述

目录

一、题目描述

1、编写一个能随机出题的四则运算的小程序

2、测试输入

3、预期输出

 二、相关知识

1、random.seed()

2、random.random()

3、random.randint(参数1,参数2)

4、random.randrange(参数1,参数2,参数3)

5、random.choice(list)

 6、random.shuffle(list)

 三、代码解析

1、全部代码

2、代码详解 

 四、源代码奉上


1、编写一个能随机出题的四则运算的小程序

 

2、测试输入

输入三个数字,第一个表示出题数量,第二个表示参与计算的最大数字,第三个表示运算结果。

3、预期输出

 二、相关知识

1、random.seed()

random.seed()是设置一个随机数种子

2、random.random()

返回一个随机生成的浮点数,范围在0~1之间

3、random.randint(参数1,参数2)

随机生成在参数1与参数2之间的整数(包括参数1、2),两个整数分别表示上下限

(注:参数1,参数2都必须是整数)

例:

import random
result = random.randint(1,10)      #返回 [1, 10] 之间的任意整数
print("result: ",result)
#输出:
#result: 6

4、random.randrange(参数1,参数2,参数3)

在指定范围内,按指定基数递增的集合中获得一个随机数,有三个参数,前两个参数代表范围下限和上限,第三个参数是递增增量,包括下限,不包括上限。

例:

random.randrange( 0,11,2)
#随机产生范围为10间隔为2的数。
#即随机输出(0,2,4,6,8,10)中的一个。

5、random.choice(list)

从序列中随机选取一个数

例:

 6、random.shuffle(list)

随机排列list中的数值

例:

 三、代码解析

1、全部代码

2、代码详解 

题目要求编写一个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 random
random.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)

 喜欢的话记得三连哦~~~

感谢支持!!!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐