万卷网> 电子学会考级 >Python等级考试 > 2023年3月电子学会青少年软件编程(Python三级)等级考试试卷

2023年3月电子学会青少年软件编程(Python三级)等级考试试卷
操作/编程 三级 2023 2023-04-07 12:09:36 75

一、编程题

1.

若要生成一个由若干小写字母组成的互不重复的随机数组,已知小写字母的ASCII码值为97~122整数范围,并将其进行从小到大输出,如图所示,请将相关程序补充完整。

import random  #random是随机数模块

n=int(input("请输入元素个数(不超过26):"))

a=[]

#产生不重复的随机数组

for i in range(n):

    x=random.randint(97,122)  #产生97-122之间的随机整数

    while chr(x) in a:

        x=random.randint(97,122)

    a.append(        ①         )

print(a)

#将各个元素进行排序输出

for i in range(n-1):

    k=i

    for j in range(        ②         ,n):

        if a[k]>a[j]:

            k=        ③        

    if i!=k:

        a[i],a[k]=        ④        

print("该随机数组从小到大排列为:",a)

2.

百钱买百鸡是我国古代数学家张丘建在《算经》一书中提出的数学问题,问题的原文是:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?这个问题用现代文描述起来就是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱。如果用100文钱买100只鸡,那么公鸡、母鸡和小鸡各应该买多少只呢?请完成下面程序中空白处的语句,实现对问题的求解,找出所有符合题目要求的买鸡方案,并输出。

#设cock、hen、chicken分别为公鸡、母鸡和小鸡的数量,num为符合题目要求的方案数目。

num=0

for cock in range(1,21):

    for hen in range(1,34):

        for chicken in        ①        : 

            if         ②        == 100 and cock*5 + hen*3 + chicken/3 ==     ③        :

                num =        ④       

                print(f'第 {num} 种方案是:公鸡{cock}只,母鸡{hen}只,小鸡{chicken}只')

3.

妙妙学校举行了知识竞赛,有一、二、三3个班分别派出最优秀的5名代表参加此次竞赛。这15名代表的成绩存放于”jscj.csv”文件中,现在妙妙读取了其中的数据,数据内容如图所示:

下列代码实现了读取竞赛分数信息,并输出各班平均分的情况,请你补全代码。

import csv

with open("/data/jscj.csv",encoding="utf-8")as f:

    rows=list(        ①         (f))

    sum=[0,0,0]

    for row in rows[1:]:

        if int(row[0])==1:

            sum[0]+=int(row[2])

        elif int(        ②         )==2:

            sum[1]+=int(row[2])

        else:

            sum[2]+=int(row[2])

    for i in range(1,4):

            print(str(i)+"班的平均分为:",round(        ③         /5,2))

公众号
客服 反馈
顶部