试卷总分:100分
选择题 25题 50分
判断题 10题 20分
编程题 3题 30分
关于如下Python代码,说法正确的选项是?
try: a=input("输入一个数") b=input("输入另一个数") c=a+b print(c) except: print("数据有误!")
有如下Python代码:
for i in range(1,21): if i %3==0: print(i)
关于上述算法程序,下列说法正确的是?
已知jieri.csv 文件内容如下(行末换行):
春节,正月初一
端午,五月初五
中秋,八月十五
元宵,正月十五
执行以下代码,下列说法错误的是?
f = open(r'd:jieri.csv', 'r') s1 = f.readline() s2 = f.read(8) s3 = f.readlines() s4 = f.read()
执行以下Python代码,输出的结果是?
s = [45, 78, 92, 56, 88, 63, 49, 71] result = list(filter(lambda x: x >= 60, s)) print(result)
a = int(min(8,3,5)) b = int(max(['2','6','4'])) c = a + b print(c)
社团积分
某校三个社团的成员积分存储在文件"club.txt" 中,数据格式如下:
社团,姓名,积分
1,小明,45
2,小红,38
1,小刚,52
3,小丽,41
2,小华,47
已知社团编号为1~3,请读取该文件,统计每个社团的总积分,并按社团编号从小到大输出。
输出格式示例:
1社团总积分:97
2社团总积分:85
3社团总积分:41
请补全下面代码:
total = {1: 0, 2: 0, 3: 0} with open("/data/① ", "r", encoding="utf-8") as f: lines = f.readlines() for line in lines[1:]: parts = line.strip().split(",") g = int(parts[0]) s = ② total[g] += s for i in range(1, 4): print(f"{i}社团总积分:{total[i]}")
数字问题
小明用随机数生成了一组两位整数(10~99之间),存入列表data中。但生成时可能出现重复数字,请帮小明完成以下任务:
(1)生成8个不重复的两位随机整数,存入列表data;
(2)按从大到小排序输出;
(3)统计并输出原始数据中偶数的个数。
原始数据:[30, 72, 82, 98, 77, 19, 94, 67]
从大到小排序:[98, 94, 82, 77, 72, 67, 30, 19]
偶数个数:5
import random #导入随机数模块 data = [] n = 8 # 生成8个不重复的两位随机整数 while ①: #当列表data的元素个数小于8时 x = random.randint(10, 99) #随机产生一个两位整数赋值给x if x not in data: # 用in判断是否重复 ② #追加到data print("原始数据:", data) # 冒泡排序(从大到小) for i in range(③): for j in range(len(data) - 1 - i): if ④: data[j], data[j+1] = data[j+1], data[j] print("从大到小排序:", data) # 统计偶数个数 count = 0 for num in data: if ⑤: count += 1 print("偶数个数:", count)
积分签到
学校“阅读角”为了鼓励同学们积极阅读,制定了“积分签到”制度。第一天签到阅读可得1分,连续第二天签到阅读得2分,连续第三天签到阅读得4分,接下来每天连续签到阅读可得8分、16分、32分 假设小明每天都不中断,累计积分达到10000分时可以兑换奖品。
请设计算法计算至少需要多少天连续签到才能兑换奖品。小明同学设计算法代码如下,请在划线处填入合适代码。
___①___ jf = 1 day = 0 while sumjf < 10000: sumjf += jf day = day + 1 jf = ___②___ print("⾄少需要连续签到", ___③___ ,"天")