# 以下代码为提示框架# 请在...处使用一行或多行代码替换# 请在______处使用一行代码替换## 注意:提示框架代码可以任意修改,以完成程序功能为准
txt = input("请输入类型序列:")
...
d = {}
...
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True)
# 按照数量排序for k in ls:
print("{}:{}".format(k[0], k[1]))
参考实现
# 以下代码为提示框架# 请在...处使用一行或多行代码替换# 请在______处使用一行代码替换## 注意:提示框架代码可以任意修改,以完成程序功能为准
txt = input("请输入类型序列:")
tem = txt.split()
d = {}
for i inrange(len(tem)):
d[tem[i]] = d.get(tem[i], 0) + 1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True)
# 按照数量排序for k in ls:
print("{}:{}".format(k[0], k[1]))
*注:本题考察字典统计与排序,split() 用于分词,get() 方法安全获取键值。
第 2 套题
题目框架
# 以下代码为提示框架# 请在...处使用一行或多行代码替换# 请在______处使用一行代码替换## 注意:提示框架代码可以任意修改,以完成程序功能为准
data = input()
# 课程名 考分
...
while data:
...
data = input()
...
print("最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}".format(______))
参考实现
# 以下代码为提示框架# 请在...处使用一行或多行代码替换# 请在______处使用一行代码替换## 注意:提示框架代码可以任意修改,以完成程序功能为准
data = input()
# 课程名 考分
d = {}
while data:
t = data.split()
d[t[0]] = t[1]
data = input()
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True)
max_course, max_grade = ls[0]
min_course, min_grade = ls[len(ls)-1]
average_grade = 0for i in d.values():
average_grade = average_grade + int(i)
average_grade = average_grade / len(ls)
print("最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}".format(max_course, max_grade, min_course, min_grade, average_grade))
*注:循环读取输入直到空行,需将分数转为整数计算平均值。
第 3 套题
题目框架
# 请在______处使用一行代码或表达式替换## 注意:请不要修改其他已给出代码import turtle as ___(1)___
for i inrange(___(2)___):
___(3)___(i*120)
t.fd(200)
参考实现
# 请在______处使用一行代码或表达式替换## 注意:请不要修改其他已给出代码import turtle as t
for i inrange(3):
t.seth(i*120)
t.fd(200)
*注:Turtle 绘图基础,设置角度绘制三角形。
第 4 套题
题目框架
# 请在______处使用一行代码或表达式替换## 注意:请不要修改其他已给出代码import turtle
for i inrange(4):
turtle.fd(100)
___(1)___(-100)
___(2)___((i+1)*90)
参考实现
# 请在______处使用一行代码或表达式替换## 注意:请不要修改其他已给出代码import turtle
for i inrange(4):
turtle.fd(100)
turtle.fd(-100)
turtle.seth((i+1)*90)
*注:正方形绘制,注意方向重置。
第 5 套题
题目框架
# 请在______处使用一行代码或表达式替换## 注意:请不要修改其他已给出代码import turtle
turtle.pensize(2)
d = 0for i inrange(1, ______(1)______):
______(2)______
d += ______(3)______
turtle.seth(d)
参考实现
# 请在______处使用一行代码或表达式替换## 注意:请不要修改其他已给出代码import turtle
turtle.pensize(2)
d = 0for i inrange(1, 9):
turtle.fd(100)
d += 360/8
turtle.seth(d)
*注:多边形边数计算,角度累加。
第 6 套题
题目框架
''' '''
f=open("name.txt")
names=f.readlines()
f.close()
f=open("vote.txt")
votes=f.readlines()
f.close()
f.close()
f=open("vote1.txt","w")
D={}
NUM=0for vote in _______(1)________:
num =len(vote.split())
if num==1and vote in _______(2)________:
D[vote[:-1]]=_______(3)________+1
NUM+=1else:
f.write(_______(4)________)
f.close()
l=list(D.items())
l.sort(key=lambda s:s[1],_______(5)________)
name=____(6)____
score=____(7)____
print("有效票数为:{} 当选村长村民为:{},票数为:{}".format(NUM,name,score))
参考实现
''' '''
f=open("name.txt")
names=f.readlines()
f.close()
f=open("vote.txt")
votes=f.readlines()
f.close()
f.close()
f=open("vote1.txt","w")
D={}
# 写入
NUM=0for vote in votes:
num =len(vote.split())
if num==1and vote in names:
D[vote[:-1]]=D.get(vote[:-1],0)+1
NUM+=1else:
f.write(vote)
f.close()
l=list(D.items())
l.sort(key=lambda s:s[1],reverse =True)
name=l[0][0]
score=l[0][1]
print("有效票数为:{} 当选村长村民为:{},票数为:{}".format(NUM,name,score))
*注:文件读写与投票统计逻辑,注意去除换行符。
第 7 套题
题目框架
# 请在______处使用一行或多行代码替换## 注意:请不要修改其他已给出代码import turtle
turtle.pensize(2)
d =0for i inrange(1, ______(1)________):
______(2)________
d += ______(3)________
turtle.seth(d)
参考实现
# 请在______处使用一行或多行代码替换## 注意:请不要修改其他已给出代码import turtle
turtle.pensize(2)
d =0for i inrange(1,6):
turtle.fd(100)
d +=360/5
turtle.seth(d)
*注:五边形绘制,步长与角度关系。
第 8 套题
题目框架
py201.py
# 请在______处使用一行代码或表达式替换## 注意:请不要修改其他已给出代码
f =open("vote.txt")
names = f.readlines()
f.close()
n =0for name in _______(1)_________:
num = _______(2)_________
if _______(3)________:
n+=__(4)____
print("有效票{}张".format(n))
py202.py
# 请在______处使用一行代码或表达式替换## 注意:请不要修改其他已给出代码
f =open("vote.txt")
names = f.readlines()
f.close()
D ={}
for name in _______(1)_________:
iflen(_____(2)______)==1:
D[name[:-1]]=_______(3)_________ +1
l =list(D.items())
l.sort(key=lambda s:s[1],_______(4)_________)
name = l[0][0]
score = l[0][1]
print("最具人气明星为:{},票数为:{}".format(name,score))
参考实现
py201.py
# 请在______处使用一行代码或表达式替换## 注意:请不要修改其他已给出代码
f =open("vote.txt")
names = f.readlines()
f.close()
n =0for name in names:
num =len(name.split())
if num ==1:
n+=1print("有效票{}张".format(n))
py202.py
# 请在______处使用一行代码或表达式替换## 注意:请不要修改其他已给出代码
f =open("vote.txt")
names = f.readlines()
f.close()
D ={}
for name in names:
iflen(name.split())==1:
D[name[:-1]]=D.get(name[:-1],0)+1
l =list(D.items())
l.sort(key=lambda s:s[1],reverse =True)
name = l[0][0]
score = l[0][1]
print("最具人气明星为:{},票数为:{}".format(name,score))
*注:文件处理与列表去重逻辑。
第 9 套题
题目框架
#301,请在空格处补充代码import turtle
turtle.pensize(2)
d=0for i inrange(1, _______(1)_________):
_______(2)_________
d += _______(3)_________
turtle.seth(d)
参考实现
#301,请在空格处补充代码import turtle
turtle.pensize(2)
d=0for i inrange(1,13):
turtle.fd(40)
d +=360/12
turtle.seth(d)
*注:十二边形绘制。
第 10 套题
题目框架
#请补充若干行代码,完成向量积运算
ls =[111,222,333,444,555,666,777,888,999]
lt =[999,777,555,333,111,888,666,444,222]
s =0
______________
print(s)
参考实现
#请补充若干行代码,完成向量积运算
ls =[111,222,333,444,555,666,777,888,999]
lt =[999,777,555,333,111,888,666,444,222]
s =0for i inrange(len(ls)):
s +=(ls[i]* lt[i])
print(s)
*注:列表遍历与累乘。
第 11 套题
题目框架
''' 在横线处补充代码,不得修改其它代码 '''#PY201.pyimport turtle
turtle.pensize(2)
for i inrange(_______(1)_________):
turtle.fd(200)
turtle.left(90)
turtle.left(_______(2)_________)
turtle.circle(_______(3)_________*pow(2,0.5))
参考实现
''' 在横线处补充代码,不得修改其它代码 '''#PY201.pyimport turtle
turtle.pensize(2)
for i inrange(4):
turtle.fd(200)
turtle.left(90)
turtle.left(360-45)
turtle.circle(100*pow(2,0.5))
*注:几何图形组合绘制。
第 12 套题
题目框架
#请完善如下代码#在....处填写多行代码,不得修改其他代码#PY202.pywhileTrue:
s =input("请输入不带数字的文本:")
...
print(len(s))
参考实现
#请完善如下代码#在....处填写多行代码,不得修改其他代码#PY202.pywhileTrue:
s =input("请输入不带数字的文本:")
i =0for num in s:
if'0'<= num <='9':
i +=1if i ==0:
breakprint(len(s))
## 在____________上补充代码# 请不要修改其他代码#import turtle as t
ls =[69,292,33,131,61,254]
X_len =400
Y_len =300
x0 =-200
y0 =-100
t.penup()
t.goto(x0, y0)
t.pendown()
t.fd(X_len)
t.fd(-X_len)
t.seth(90)
t.fd(Y_len)
t.pencolor('red')
t.pensize(5)
for i inrange(len(ls)):
t.penup()
t.goto(x0 +(i+1)*50, y0)
t.seth(90)
t.pendown()
t.fd(ls[i])
t.done()
*注:坐标定位与画笔状态管理。
第 14 套题
题目框架
## 在......上补充一行或多行代码# 不得修改其他代码#import random
random.seed(2)
pdict={'Alice':['123456789'],'Bob':['234567891'],'Lily':['345678912'],'Jane':['45456789123']}
name =input('请输入一个人名:')
......
参考实现
## 在......上补充一行或多行代码# 不得修改其他代码#import random
random.seed(2)
pdict={'Alice':['123456789'],'Bob':['234567891'],'Lily':['345678912'],'Jane':['45456789123']}
name =input('请输入一个人名:')
if name in pdict:
print("{} {} {}".format(name,pdict.get(name)[0],random.randint(1000,9999)))
else:
print("对不起,您输入的用户信息不存在。")
*注:字典查找与随机数生成。
第 15 套题
题目框架
## 在____________上补充代码# 请不要修改其他代码# ____________import random as r
color =['red','orange','blue','green','purple']
r.seed(1)
for i inrange(5):
rad = r.____________
x0 = r.____________
y0 = r.randint(-100,100)
t.color(r.choice(color))
t.penup()
t.____________
t.pendown()
t.____________(rad)
t.done()
参考实现
## 在____________上补充代码# 请不要修改其他代码#import turtle as timport random as r
color =['red','orange','blue','green','purple']
r.seed(1)
for i inrange(5):
rad = r.randint(20,50)
x0 = r.randint(-100,100)
y0 = r.randint(-100,100)
t.color(r.choice(color))
t.penup()
t.goto(x0, y0)
t.pendown()
t.circle(rad)
t.done()
*注:随机绘图与颜色选择。
第 16 套题
题目框架
#请在.....处填写多行表达式或语句#不得修改其他代码
img =[0.244,0.832,0.903,0.145,0.26,0.452]
filter=[0.1,0.8,0.1]
res =[]
for i inrange(len(img)-2):
...
res.append(k)
for r in res:
print('{:<10.3f}'.format(r),end ='')
参考实现
#请在.....处填写多行表达式或语句#不得修改其他代码
img =[0.244,0.832,0.903,0.145,0.26,0.452]
filter=[0.1,0.8,0.1]
res =[]
for i inrange(len(img)-2):
k =0for j inrange(3):
k +=filter[j]*img[i+j]
print('k={:<10.3f},filter[{}]={:<10.3f},img[{}+{}]={:<10.3f}'.format(k,j,filter[j],i,j,img[i+j]))
res.append(k)
for r in res:
print('{:<10.3f}'.format(r),end ='')
*注:卷积运算模拟。
第 17 套题
题目框架
## 在____________上补充代码# 请不要修改其他代码#import turtle as timport random as r
r.seed(1)
t.pensize(2)
t.____________('red')
angles =6
points=[[0,0],[50,40],[70,80],[-40,30]]
for i inrange(____________):
x0,y0 = points[i]
t.penup()
t.goto(____________)
t.pendown()
length = r.randint(6,16)
for j inrange(angles):
t.____________(length)
t.____________(length)
t.right(360/ angles)
t.done()
参考实现
## 在____________上补充代码# 请不要修改其他代码#import turtle as timport random as r
r.seed(1)
t.pensize(2)
t.pencolor('red')
angles =6
points=[[0,0],[50,40],[70,80],[-40,30]]
for i inrange(4):
x0,y0 = points[i]
t.penup()
t.goto(x0, y0)
t.pendown()
length = r.randint(6,16)
for j inrange(angles):
t.fd(length)
t.backward(length)
t.right(360/ angles)
t.done()
*注:画笔属性设置与路径回溯。
第 18 套题
题目框架
## 在......上补充一行或多行代码# 在____________上补充一行代码# 可以修改代码# f =open('data202.csv','r')
d={}
for line in f.readlines():
......
d[country]=d.get(country,[])
d[country].append(university)
for country in d.keys():
print('{:>4}: {:>4} : {}'.format(country,len(d[country]),' '.join(d[country])))
参考实现
## 在......上补充一行或多行代码# 在____________上补充一行代码# 可以修改代码# f =open('data202.txt','r')
school =[]
country =[]
for line in f:
lines = line.strip('\n').split(",")
if lines !=['']:
school.append(lines[1:3])
# 构建学校列表
country.append(lines[-1])
# 构建国家列表
country =list(set(country))
# 列表去重复
unis =[]
for i in country:
n =0
schools =[]
result =[]
for k in school:
if k[1]== i:
n +=1
schools.append(k[0])
result =[i, n, schools]
unis.append(result)
for d in unis:
print('{:>4}: {:>4} : {}'.format(d[0],d[1],''.join(d[2])))
f.close()
*注:CSV 数据清洗与分组统计。
第 19 套题
题目框架
## 在____________上补充代码# 请不要修改其他代码#import turtle as timport random as r
r.seed(1)
t.pensize(2)
for i inrange(3):
length = r.____________(20,80)
x0 = r.randint(-100,100)
y0 = r.randint(-100,100)
t.penup()
t.goto(____________)
t.____________
for j inrange(4):
t.____________(length)
t.____________(90*(j+1))
t.done()
参考实现
## 在____________上补充代码# 请不要修改其他代码#import turtle as timport random as r
r.seed(1)
t.pensize(2)
for i inrange(3):
length = r.randint(20,80)
x0 = r.randint(-100,100)
y0 = r.randint(-100,100)
t.penup()
t.goto(x0, y0)
t.pendown()
for j inrange(4):
t.fd(length)
t.seth(90*(j+1))
t.done()
*注:随机矩形绘制。
第 20 套题
题目框架
#请在......处填写一行或多行表达式或语句#可以修改其他代码
sumtime =0
percls =[]
ts ={}
f =open('data202.txt','r')
......
print('the total execute time is', sumtime)
tns =list(ts.items())
tns.sort(key=lambda x: x[1], reverse=True)
for i inrange(3):
print('the top {} percentage time is {}, spent in "{}" operation'.format(i, tns[i][1],tns[i][0]))
参考实现
#请在.....处填写多行表达式或语句#请在_____处填写一行表达式或代码#不得修改其他代码
sumtime =0
percls =[]
ts ={}
withopen('out.txt','r')as f:
for line in f.readlines():
line = line.strip('\n').split(',')
sumtime +=eval(line[1])
ts[line[0]]= line[2]
print('the total execute time is ', sumtime)
tns =list(ts.items())
tns.sort(key=lambda x: x[1], reverse=True)
for i inrange(3):
print('the top {} percentage time is {}, spent in "{}" operation'.format(i, tns[i][1],tns[i][0]))
*注:上下文管理器 with 的使用。
第 21 套题
题目框架
## 在____________上补充代码#import turtle as t
color =['red','green','blue']
rs =[10,30,60]
for i inrange(___(1)___):
t.penup()
t.goto(0, ___(2)___)
t. ___(3)___
t.pencolor(___(4)___)
t.circle(___(5)___)
t.done()
参考实现
## 在____________上补充代码#import turtle as t
color =['red','green','blue']
rs =[10,30,60]
for i inrange(3):
t.penup()
t.goto(0,-(rs[i]-rs[0]))
t.pendown()
t.pencolor(color[i])
t.circle(rs[i])
t.done()
*注:同心圆绘制。
第 22 套题
题目框架
## 在……上补充一行或多行代码# 可以修改其他代码#import jieba
s =input("请输入一段中文文本,句子之间以逗号分隔:")
……
for word in slst:
if word notin[',','。']:
……
print(wordstr)
……
参考实现
## 在……上补充一行或多行代码# 可以修改其他代码#import jieba
s =input("请输入一段中文文本,句子之间以逗号分隔:")
slst = jieba.lcut(s)
wordstr =""
num =0for word in slst:
if word notin[',','。']:
wordstr = wordstr + word +"/"
num +=1print(wordstr)
print("非标点符号的中文词语个数是"+str(num))
*注:中文分词库 jieba 的使用。
第 23 套题
题目框架
import turtle
n = __(1)__
for j inrange(n):
turtle. __(2)__
for i inrange(4):
turtle. __(3)__
turtle.right(__(4__)__)
turtle.penup()
turtle.fd(__(5__)__)
turtle.done()
参考实现
import turtle
n =4for j inrange(n):
turtle.pendown()
for i inrange(4):
turtle.fd(40)
turtle.right(90)
turtle.penup()
turtle.fd(80)
turtle.done()
*注:嵌套循环绘制多个正方形。
第 24 套题
题目框架
## 在……上补充一行或多行代码,不得修改其他代码#import random as r
r.seed(0)
persons =['Aele','Bob','lala','baicai']
flag =3while flag>0:
flag -=1
……
print('{} {}'.format(name, num))
……
print('对不起,您输入的名字不存在。')
参考实现
## 在……上补充一行或多行代码,不得修改其他代码#import random as r
r.seed(0)
persons =['Aele','Bob','lala','baicai']
flag =3while flag>0:
flag -=1
name =input("请输入一个名字:")
if name in persons:
num = r.randint(1000,9999)
print('{} {}'.format(name, num))
elif name =='q':
breakelif name notin persons:
print('对不起,您输入的名字不存在。')
*注:用户交互与异常处理。
第 25 套题
题目框架
import turtle as t
import random as r
color =['red','green','blue','purple','black']
r.seed(1)
for j inrange(__(1)__):
t.pencolor(color[r. __(2__)__])
t.penup()
t.goto(__(3__)__)
t. __(4)__
t.circle(__(5__)__)
t.done()
参考实现
import turtle as t
import random as r
color =['red','green','blue','purple','black']
r.seed(1)
for j inrange(5):
t.pencolor(color[r.randint(0,4)])
t.penup()
t.goto(r.randint(-100,100),r.randint(-100,100))
t.pendown()
t.circle(r.randint(10,30))
t.done()
*注:随机位置与颜色填充。
第 26 套题
题目框架
## 在……上补充一行或多行代码#import jieba
s =input("请输入一个中文字符串,包含逗号和句号:\n")
……
fo =open("result202.txt","w",encoding='utf-8')
……
fo.close()
参考实现
## 在……上补充一行或多行代码#import jieba
s =input("请输入一个中文字符串,包含逗号和句号:\n")
words = jieba.lcut(s)
d ={}
for i in words:
iflen(i)>=2:
d[i]= d.get(i,0)+1
lt =list(d.items())
fo =open("result202.txt","w",encoding='utf-8')
for i in lt:
fo.write("{}:{}".format(i[0],i[1]))
fo.close()
*注:词频统计与文件写入。
第 27 套题
题目框架
# 在____________上补充代码 (12 根短线)#import turtle as t
_______(1)______
color =['red','blue','purple','black']
r.seed(1)
for j inrange(4):
t.pencolor(color[_______(2)______])
t.penup()
t.goto(r.randint(-100,100), _______(3)______)
t.pendown()
ra = r.randint(50,200)
for i inrange(_______(4)______):
t.fd(_______(5)______)
t.seth(90*i)
t.done()
参考实现
# 在____________上补充代码 (12 根短线)#import turtle as timport random as r
color =['red','blue','purple','black']
r.seed(1)
for j inrange(4):
t.pencolor(color[r.randint(0,3)])
t.penup()
t.goto(r.randint(-100,100), r.randint(-100,100))
t.pendown()
ra = r.randint(50,200)
for i inrange(1,5):
t.fd(ra)
t.seth(90*i)
t.done()
*注:多重循环与随机参数。
第 28 套题
题目框架
# 在____________上补充代码 (12 根短线)#请在.....处填写多行表达式或语句#可以修改其他代码## 在……上补充一行或多行代码 (6 个点)#import jieba
dela ='-;:,.()"<>'
s =input("请输入一句话:")
……
print("替换之后是:{}".format(____________))
……
print("里面有{}个词语。".format(____________))
参考实现
# 在____________上补充代码 (12 根短线)#请在.....处填写多行表达式或语句#可以修改其他代码## 在……上补充一行或多行代码 (6 个点)#import jieba
dela ='-;:,.()"<>'
s =input("请输入一句话:")
print("\n这句话是:{}".format(s))
new =""for i in s:
if i in dela:
i =""
new = new + i
wordlists = jieba.lcut(new)
print("替换之后是:{}".format(new))
print("里面有 {}个词语。".format(len(wordlists)))
*注:字符过滤与分词统计。
第 29 套题
题目框架
# 请在______处补充一行代码# 请不要修改其他代码import turtle as t
for i inrange(4):
(1) _____________________
t.left(90)
t.penup()
(2)___________________
t.pendown()
(3)___________________
t.pensize(5)
t.begin_fill()
(4)_________________
(5)_________________
t.done()
参考实现
# 请在______处补充一行代码# 请不要修改其他代码import turtle as t
for i inrange(4):
t.forward(200)
t.left(90)
t.penup()
t.goto(100,0)
t.pendown()
t.color("green","red")
t.pensize(5)
t.begin_fill()
t.circle(100)
t.end_fill()
# 补充 t.done()
*注:填充图形绘制。
第 30 套题
题目框架
#请在.....处填写多行表达式或语句#不得修改其他代码import jieba
fuhao=[",",":","、","。",";","'","'"]
ff =open("data202.txt","r",encoding="utf-8")
all_txt=ff.read()
for ch in fuhao:
all_txt=all_txt.replace(ch,'')
……
for i inrange(len(ls)):
if i>0:
print('/',end='')
……
print()
……
lt=list(dc.items())
lt.sort(key=lambda x:x[1],reverse=True)
for x in lt[0:5]:
print("{}:{}".format(x[0],x[1]))
参考实现
#请在.....处填写多行表达式或语句#不得修改其他代码import jieba
fuhao=[",",":","、","。",";","'","'"]
withopen("data_19report.txt","r",encoding="utf-8")as f:
all_txt=f.read()
for ch in fuhao:
all_txt=all_txt.replace(ch,'')
words = jieba.lcut(all_txt)
for i in words[:-1]:
print(i,end="/")
print(words[-1])
d ={}
for i in words:
d[i]= d.get(i,0)+1
ls =list(d.items())
ls.sort(key =lambda x : x[1], reverse =True)
for i inrange(5):
print('{}:{}'.format(ls[i][0],ls[i][1]))
*注:文本预处理与 TopN 统计。
第 31 套题
题目框架
#在____________上补充代码#不要修改其他代码import random as r
import turtle as t
defdrawSnake(_______(1)______):
t.penup()
t.goto(0,200)
t.pendown()
t.seth(-1*angl)
for i inrange(length):
t.circle(_______(2)______, angl)
t.circle(-radius, angl)
length, radius =3,40
r.seed(1)
color =['red','blue','purple','black']
for i inrange(_______(3)______):
t.pencolor(r. _______(4)______ (color))
angl = r. _______(5)______ (30,180)
drawSnake(angl)
t.done()
参考实现
#在____________上补充代码#不要修改其他代码import random as r
import turtle as t
defdrawSnake(angl):
t.penup()
t.goto(0,200)
t.pendown()
t.seth(-1*angl)
for i inrange(length):
t.circle(radius, angl)
t.circle(-radius, angl)
length, radius =3,40
r.seed(1)
color =['red','blue','purple','black']
for i inrange(4):
t.pencolor(r.choice(color))
angl = r.randint(30,180)
drawSnake(angl)
t.done()
## 在____________上补充代码# 在……上补充一行或多行代码# 可以修改其他代码# fi =open("data202.txt","r")
lls = fi.read().split(";")
print("一共有{}个学生".format(len(lls)))
students =[]
for i in lls:
tem = i.split(",")
students.append(tem)
students.sort(key=lambda x:x[2], reverse=True)
max_score = students[0][2]
max_name =[]
for i in students:
if i[2]== max_score:
max_name.append(i[1])
min_score = students[-1][2]
min_name =[]
for i in students:
if i[2]== min_score:
min_name.append(i[1])
print("最高分:{}:{}".format(max_score,",".join(max_name)))
print("最低分:{}:{}".format(min_score,",".join(min_name)))
*注:复杂数据结构排序与聚合。
第 33 套题
题目框架
#在____________上补充代码#不要修改其他代码import turtle as t
color =['red','green','blue','orange','pink']
for i inrange(_______(1)______):
t.penup()
t.goto(_______(2)______)
t. _______(3)______
t.pencolor(_______(4)______)
t.circle(_______(5)______, steps =5)
t.done()
参考实现
#在____________上补充代码#不要修改其他代码import turtle as t
color =['red','green','blue','orange','pink']
for i inrange(5):
t.penup()
t.goto(-200+i*70,0)
t.pendown()
t.pencolor(color[i])
t.circle(50, steps =5)
t.done()
*注:多边形绘制与位置偏移。
第 34 套题
题目框架
## 在____________上补充代码# 在……上补充一行或多行代码# 可以修改其他代码#import random as rdefcalp(c, darts):
____________
for i in ____________:
p += r.randint(0, darts)
print("{:2} {:12} {:12}".format(c, darts, p))
# r.seed(1)for i inrange(____________):
……
参考实现
## 在____________上补充代码# 在……上补充一行或多行代码# 可以修改其他代码#import random as rdefcalpi(c,darts):
p =0# 随机数之和# 求随机数之和for i inrange(darts):
p += r.randint(0,darts)
print("{:2}{:12}{:12}".format(c, darts, p))
n =4
DART =3
r.seed(1)
for i inrange(n):
c = i +1
darts = c * DART
calpi(c,darts)