# 以下代码为提示框架# 请在...处使用一行或多行代码替换# 请在______处使用一行代码替换# 注意:提示框架代码可以任意修改,以完成程序功能为准
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]))
第 2 套题
题目要求:
读取课程名与考分,计算最高分、最低分及平均分。
参考实现:
# 以下代码为提示框架
data = input() # 课程名 考分
d = {}
while data:
t = data.split()
d[t[0]] = t[1]
data = ()
ls = (d.items())
ls.sort(key= x: x[], reverse=)
max_course, max_grade = ls[]
min_course, min_grade = ls[(ls)-]
average_grade =
i d.values():
average_grade = average_grade + (i)
average_grade = average_grade / (ls)
(.(max_course, max_grade, min_course, min_grade, average_grade))
input
list
lambda
1
True
0
len
1
0
for
in
int
len
print
"最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}"
format
第 3 套题
题目要求:
利用 turtle 库绘制三角形。
参考实现:
# 请在______处使用一行代码或表达式替换# 注意:请不要修改其他已给出代码import turtle as t
for i inrange(3):
t.seth(i*120)
t.fd(200)
第 4 套题
题目要求:
绘制正方形路径。
参考实现:
# 请在______处使用一行代码或表达式替换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, 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 = 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, 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 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, 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 = 0for i inrange(len(ls)):
s += (ls[i] * lt[i])
print(s)
第 11 套题
题目要求:
绘制带圆角的图形。
参考实现:
# 在横线处补充代码,不得修改其它代码import 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 套题
题目要求:
检测文本中是否包含数字。
参考实现:
# 请完善如下代码whileTrue:
s = input("请输入不带数字的文本:")
i = 0for num in s:
if'0' <= num <= '9':
i += 1if i == 0:
breakprint(len(s))
第 13 套题
题目要求:
坐标轴绘制与数据可视化。
参考实现:
# 在____________上补充代码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': ['456789123']}
name = input('请输入一个人名:')
if name in pdict:
print("{} {} {}".format(name, pdict.get(name)[0], random.randint(1000, 9999)))
else:
print("对不起,您输入的用户信息不存在。")
第 15 套题
题目要求:
随机颜色与位置绘制圆形。
参考实现:
# 在____________上补充代码import turtle as t
import 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):
k = 0for j inrange(3):
k += filter[j]*img[i+j]
res.append(k)
for r in res:
print('{:<10.3f}'.format(r), end='')
第 17 套题
题目要求:
随机线段绘制。
参考实现:
# 在____________上补充代码import turtle as t
import 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 套题
题目要求:
CSV 数据处理与统计。
参考实现:
# 在......上补充一行或多行代码
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()
第 19 套题
题目要求:
随机绘制正方形。
参考实现:
# 在____________上补充代码import turtle as t
import 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 = {}
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]))
第 21 套题
题目要求:
同心圆绘制。
参考实现:
# 在____________上补充代码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("请输入一段中文文本,句子之间以逗号分隔:")
slst = jieba.lcut(s)
wordstr = ""
num = 0for word in slst:
if word notin [',', '。']:
wordstr = wordstr + word + "/"
num += 1print(wordstr)
print("非标点符号的中文词语个数是"+str(num))
第 23 套题
题目要求:
绘制多个正方形。
参考实现:
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
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(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")
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 套题
题目要求:
随机绘制短线段。
参考实现:
# 在____________上补充代码import turtle as t
import 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 套题
题目要求:
字符替换与分词统计。
参考实现:
# 在……上补充一行或多行代码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):
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 = [",", ":", "、", "。", ";", "'", "'"]
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]))
第 31 套题
题目要求:
蛇形曲线绘制。
参考实现:
# 在____________上补充代码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()
第 32 套题
题目要求:
学生成绩统计。
参考实现:
# 在____________上补充代码
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(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 r
defcalpi(c, darts):
p = 0for 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)