头歌python第一章作业(随机出题的四则运算)

2006屈芳菲 2022-09-25 20:12:33

任务描述

本关任务:编写一个能随机出题的四则运算的小程序。

相关知识

为了完成本关任务,你需要掌握:

  1. random函数用法

random函数用法

  1. random.random() 随机生成(0,1)之间的浮点数。

  2. random.randint(参数1,参数2) 随机生成在范围之内的整数,两个参数分别表示上限和下限。 参数 1、参数 2 必须是整数。 函数返回参数 1 和参数 2 之间的任意整数,闭区间。

    
     
    1. import random
    2. result = random.randint(1,10) #返回 [1, 10] 之间的任意整数
    3. print("result: ",result)
    4. #输出:
    5. #result: 6
  1. random.randrange( ) 在指定范围内,按指定基数递增的集合中获得一个随机数,有三个参数,前两个参数代表范围上限和下限,第三个参数是递增增量,不包括下限,包括上限。 使用方式如下:

    
     
    1. random.randrange( 0,11,2)
    2. #随机产生范围为10间隔为2的数。
    3. #注:这里输出(0,2,4,6,8,10)中一个。
  2. random.choice(list) 从序列中随机抽选一个数。

  3. random.shuffle(list) 随机排序。 注:list元素为数值型

代码实例 1


 
  1. # 批量生成四则运算
  2. # 产生10道正整数四则运算的题目,用户输入计算结果,判断输入正确与否
  3. for i in range(10): # 循环10次,每次产生一个新问题
  4. a = int(input('请输入一个整数:'))
  5. b = int(input('请再输入一个整数:'))
  6. sign = input('请输入运算符号')
  7. print(f'{a}{sign}{b}=', end='') # 5+10=15,格式化输出
  8. result = float(input()) # 用户输入计算结果
  9. if result == eval(f"{a}{sign}{b}"):
  10. print('恭喜你,回答正确')
  11. else:
  12. print('回答错误,你要加油哦!')

编程要求

根据提示,在右侧编辑器补充代码,完善一个能随机出题进行四则运算的小程序。

测试说明

平台会对你编写的代码进行测试:


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以内整数,避免减法出现负数
 
        list = ['+','-','*','/']
        sign = random.choice(list)
        print(f'{a}{sign}{b}=',end="")
        result = float(input())
        if result == eval(f"{a}{sign}{b}"):
            print('恭喜你,回答正确')
            correct = correct + 1
 
    print(f'答对{correct}题,正确率为{correct / n * 100}%')
if __name__ == '__main__':
    num = int(input('请输入出题数量:'))
    m = int(input('请输入参与计算的最大数字:'))
    calculator(num, m)

 

...全文
5848 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

124

社区成员

发帖
与我相关
我的任务
社区描述
Python课堂教学
python 高校
社区管理员
  • 42python
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧