image

编辑人: 人逝花落空

calendar2025-05-31

message8

visits404

2024月09月Python三级实操答案及解析

一、简答题

1、36.某实验小学举行了跳绳比赛,其中四年级1班和2班的比赛数据存储在“ts.csv”中,如图所示,现要求Python读取该比赛数据文件,并统计各班成绩在110(含110)以上的人数。实现代码如下,请你补全划线处代码:
import csv
with open ("/data/ts.csv") as fs:
hs=list(csv.reader( ① ))
c1=0
c2=0
for i in hs[1:]:
​ if i[0]=="1"and ② >=110:
​ c1+=1
​ elif i[0]=="2"and ③ >=110:
​ c2+=1
print("四(1)班110以上的有:"+str(c1)+"个") print("四(2)班110以上的有:"+str(c2)+"个")

解析:

首先,我们需要使用文件对象来读取csv文件,所以划线处①应填写fs。
然后,由于csv文件中的成绩可能是字符串格式,我们需要将其转化为整数进行比较。所以划线处②和③应分别填写int(i[1])和int(i[2]),将每行的第二个和第三个元素(即成绩)转化为整数,再与110进行比较。

2、37.有一个数字构成的列表 a = [6,2,3,5,4,5,2,6,5,5,4,3,7],小明用冒泡排序算法编写了一段程序,将列表中的数字从小到大排列,运行结果为: [2, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 6, 7] ,请将下面程序中红色 ①②③ 处欠缺的代码补充完整。
a = [6,2,3,5,4,5,2,6,5,5,4,3,7]
for i in range(0, ① ) :
for j in range(i+1 , ② ) :
if ③ :
a[i] , a[j] = a[j] , a[i]
print(a)

解析:

这是一个关于冒泡排序的编程问题。冒泡排序的基本思想是通过不断地交换相邻的不按排序顺序排列的数,从而达到排序的目的。在每一次外层循环中,内层循环会将当前剩余未排序的元素中的最大(或最小)元素冒泡到最后的位置。因此,外层循环的次数是列表的长度减去一(因为最后一次外层循环会将最后一个元素自动排好序),内层循环则是从当前外层循环的位置开始到列表末尾。在每一次内层循环中,我们会比较相邻的两个元素的大小,如果前一个元素大于后一个元素,就交换这两个元素的位置。因此,我们需要填写以下三个空缺:

① 外层循环的次数应该是列表的长度减去一,即len(a)-1。因此此处应填写len(a)。

② 内层循环应该从当前外层循环的位置开始到列表末尾,即len(a)-i-1。此处应填写len(a)-i-1。

③ 比较相邻两个元素的大小,如果前一个元素大于后一个元素(即a[j]>a[i]),就需要交换这两个元素的位置。因此此处应填写a[j] > a[i]。

3、38.鸡兔同笼
小明在解决经典的“鸡兔同笼”问题时,使用“穷举法”编写了以下代码。请将代码中红色①②③④处补充完整:
tou = int(input("请输入笼中鸡与兔脑袋的总数: "))
jiao = int(input("请输入笼中鸡与兔脚的总个数: "))
a = 0
for ji in range( ① ):
tu = ② - ji
if 2 * ji + 4 * tu == ③ :
print("鸡的个数为:", ji, "兔的个数为:", tu)
a = a + 1
if a == ④ :
print("头数与脚数不合理,没有合适的结果。")

解析:

这是一个经典的鸡兔同笼问题。代码使用了穷举法来求解这个问题。首先,通过输入得到鸡和兔的头数总数(tou)和脚数总数(jiao)。然后通过一个循环来穷举可能的鸡的数量(ji),根据鸡和兔的头数和脚数关系计算兔的数量(tu)。接着检查当前的鸡和兔的数量组合是否满足脚数总和的条件,如果满足则输出这个组合,并计数(a)。如果循环次数达到了一个预设的上限(此处可以设定为任意足够大的数或者tou的值),则输出提示“头数与脚数不合理,没有合适的结果”。代码中的红色部分需要补充完整以完成这个逻辑。

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

创作类型:
原创

本文链接:2024月09月Python三级实操答案及解析

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