image

编辑人: 人逝花落空

calendar2025-05-30

message3

visits932

2022年03月Python四级实操答案及解析

一、编程题

1、7个评委给每个选手打分,评委分数中去掉最高分与最低分,计算所得平均分是每个选手的最后得分,保留2位小数。
根据上述计算规则,编写自定义函数完成程序功能,完善代码。
"""
根据评委分数,计算去掉最高分与最低分后的平均分,保留2位小数
函数名 def getScore(fs):
参数 fs:表示评委的分数,为列表
返回值 :返回选手的得分,保留2位小数。
"""

解析:【喵呜刷题小喵解析】:根据题目要求,我们需要编写一个函数`getScore`,该函数接受一个列表`fs`作为参数,表示评委的分数。函数需要完成以下任务:1. 去除列表中的最高分和最低分。2. 计算去掉最高分和最低分后的平均分,保留两位小数。函数首先使用`sort()`方法对列表`fs`进行排序,然后取出排序后的列表的第一个元素(即最低分)和最后一个元素(即最高分),并将它们从原列表中删除,得到新的列表`new_fs`。接着,函数使用`sum()`函数计算`new_fs`中所有元素的和,然后除以`new_fs`的长度(即评委数量减去2),得到平均分。最后,使用`round()`函数将平均分保留两位小数,并返回结果。

2、素数是只能被1和本身整除的正整数,编写自定义函数,实现判断正整数是否为素数。完善程序代码。
"""
判断正整数n是否为素数,若是返回True;否则返回False
函数名 def prime(n)
参数 n:表示正整数
返回值 :n是素数,返回True;否则返回False
"""

解析:【喵呜刷题小喵解析】本题要求编写一个自定义函数,判断一个正整数是否为素数。根据素数的定义,只能被1和本身整除的正整数,因此我们需要编写一个循环来遍历2到n的平方根之间的所有整数,判断n是否可以被整除。如果可以被整除,则说明n不是素数,返回False;否则说明n是素数,返回True。需要注意的是,对于n小于2的情况,直接返回False,因为小于2的整数不是素数。在循环中,我们只需要遍历到n的平方根即可,因为如果n有一个大于其平方根的因子,那么必定存在一个小于其平方根的因子。因此,我们只需要检查到n的平方根即可。

3、编写程序计算n(n小于等于10)位数中,包含奇数个5的个数。比如1位数中包含奇数个5的个数是1个。利用递推方法计算n位数包含奇数个5的个数。完善划线处的代码。

解析:【喵呜刷题小喵解析】此题要求计算n位数中,包含奇数个5的个数。利用递推方法,我们可以先计算n-1位数中,包含奇数个5的个数,再乘以10^(n-1),得到n位数中,以0-9中任意数字开头的,包含奇数个5的个数。然后,计算n-1位数中,包含偶数个5的个数,再乘以9 * 10^(n-2),得到n位数中,以5开头的,包含偶数个5的个数。两者相加,即为n位数中,包含奇数个5的个数。具体实现时,当n为1时,只有数字5,包含奇数个5的个数为1。对于n大于1的情况,我们可以使用递归方法,先计算n-1位数中,包含奇数个5的个数,再乘以10^(n-1),得到n位数中,以0-9中任意数字开头的,包含奇数个5的个数。同时,计算n-1位数中,包含偶数个5的个数,再乘以9 * 10^(n-2),得到n位数中,以5开头的,包含偶数个5的个数。两者相加,即为n位数中,包含奇数个5的个数。以上述思路,我们可以写出如下的Python代码:```pythondef count_odd_5s(n):if n == 1:return 1else:return 10 ** (n - 1) * count_odd_5s(n - 1) + 9 * 10 ** (n - 2)print(count_odd_5s(3))```该代码会输出3位数中包含奇数个5的个数。

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

创作类型:
原创

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

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