image

编辑人: 青衫烟雨

calendar2025-05-10

message6

visits460

2021年09月Python四级实操答案及解析

一、编程题

1、在编写抽奖程序时,为了保证一个人只有一次中奖机会,要检查新抽出来的数字是不是已经被抽中过了。
一种办法是将已经中过奖的人员编号存放在test_list里面,然后每抽出一个新的人员编号,判断它是否在中奖人员列表中。
如果没有在中奖人员列表中,说明中奖号码有效,并将它保存进中奖人员列表;如果已经在里面了,就再生成一个新的人员编号。
请你补全下面的代码,实现判断一个数字是否在列表中的功能。

参考答案:

解析:【喵呜刷题小喵解析】题目要求实现一个函数,用于判断一个数字是否在列表中。根据题目描述,我们可以使用Python的内置函数`in`来检查一个数字是否在列表中。在Python中,`in`关键字用于检查一个元素是否在一个集合(如列表、元组或字符串)中。如果元素在集合中,`in`返回`True`,否则返回`False`。因此,我们可以定义一个函数`check_in_list`,它接受两个参数:要检查的数字`num`和存储中奖人员编号的列表`test_list`。函数内部使用`if`语句和`in`关键字来判断`num`是否在`test_list`中,如果是,返回`True`,否则返回`False`。以上代码实现了题目要求的功能,可以用于判断一个数字是否在列表中。

2、乘法运算等于多个加法运算的和。比如,3×2可以理解为3+3,也可以理解为2+2+2 。
下面的程序使用递归算法演示了计算两个自然数的乘积的过程。请你补全代码。
输入:分两次输入自然数num1,num2
输出:num1 × num2 = 乘积

参考答案:

解析:【喵呜刷题小喵解析】这是一个使用递归算法来计算两个自然数的乘积的Python程序。首先,我们定义了一个名为`multiply`的函数,它接受两个参数`num1`和`num2`。在函数内部,我们进行了一个条件判断:如果`num2`等于0,那么直接返回0。这是因为任何数与0相乘都等于0。如果`num2`不等于0,那么我们就进行递归调用。递归调用`multiply(num1, num2-1)`,并将结果加上`num1`。这是因为`num1 × num2`可以看作`num1 × (num2-1) + num1`,而`num1 × (num2-1)`又可以通过递归继续计算,直到`num2`为0时停止递归。最后,程序要求用户输入两个自然数`num1`和`num2`,并输出它们的乘积。

3、外卖送餐服务越来越受到人们的喜爱,外卖小哥们也成了路上的一道风景。
当顾客使用外卖软件点餐时,会出现一个预计送达时间,包括了餐厅制作食物的时间,路上的骑行时间等等。
一种常用的计算路上骑行时间的方法是用曼哈顿距离(manhatton distance)除以平均骑行速度。平面上点A(x1,y1)与点B(x2,y2)的曼哈顿距离为:|x1-x2|+|y1-y2|。
假设一名外卖小哥的平均骑行速度为30km/h。下面的程序模拟计算外卖小哥的路上骑行时间,请你补充完整。
输入:分两次输入A点和B点的坐标值
输出:A、B两点间的曼哈顿距离和路上骑行时间。

参考答案:

解析:【喵呜刷题小喵解析】首先,我们定义了两个函数:`manhattan_distance`和`ride_time`。`manhattan_distance`函数用于计算两点之间的曼哈顿距离,其输入为两个点的坐标,输出为曼哈顿距离。`ride_time`函数用于计算骑行时间,其输入为距离和速度,输出为骑行时间。然后,我们通过两次输入获取A点和B点的坐标值,分别存储在变量`x1, y1`和`x2, y2`中。接着,我们调用`manhattan_distance`函数计算A点和B点之间的曼哈顿距离,并将结果存储在变量`manhattan_distance_val`中。最后,我们调用`ride_time`函数计算骑行时间,并将结果存储在变量`ride_time_val`中。最后,我们使用`print`函数输出A、B两点间的曼哈顿距离和路上骑行时间。

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2021年09月Python四级实操答案及解析

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share