# 以下代码为提示框架# 请在...处使用一行或多行代码替换# 请在______处使用一行代码替换# 注意:提示框架代码可以任意修改,以完成程序功能为准
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]))
第二题:课程成绩分析
题目要求:
读取课程名和考分,计算最高分、最低分及平均分。
参考代码:
# 以下代码为提示框架# 请在...处使用一行或多行代码替换# 请在______处使用一行代码替换
data = input()
d = {}
data:
t = data.split()
d[t[]] = t[]
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))
# 课程名 考分
while
0
1
input
list
lambda
1
True
0
len
1
0
for
in
int
len
print
"最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}"
format
第三题:Turtle 绘图(三角形)
题目要求:
补全代码,绘制一个三角形。
参考代码:
# 请在______处使用一行代码或表达式替换# 注意:请不要修改其他已给出代码import turtle as t
for i inrange(3):
t.seth(i*120)
t.fd(200)
第四题:Turtle 绘图(正方形)
题目要求:
补全代码,绘制一个正方形。
参考代码:
# 请在______处使用一行代码或表达式替换# 注意:请不要修改其他已给出代码import turtle
for i inrange(4):
turtle.fd(100)
turtle.fd(-100)
turtle.seth((i+1)*90)
第五题:Turtle 绘图(八边形)
题目要求:
补全代码,绘制一个正八边形。
参考代码:
# 请在______处使用一行代码或表达式替换# 注意:请不要修改其他已给出代码import turtle
turtle.pensize(2)
d = 0for i inrange(1, 9):
turtle.fd(100)
d += 360/8
turtle.seth(d)
第六题:投票统计
题目要求:
读取选民名单和选票,统计有效票并选出票数最多的候选人。
参考代码:
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))
第七题:Turtle 绘图(五边形)
题目要求:
补全代码,绘制一个正五边形。
参考代码:
# 请在______处使用一行或多行代码替换# 注意:请不要修改其他已给出代码import turtle
turtle.pensize(2)
d = 0for i inrange(1, 6):
turtle.fd(100)
d += 360/5
turtle.seth(d)
第八题:投票统计(多文件)
题目要求:
分别统计有效票数及最具人气明星。
参考代码:
# 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))
第九题:Turtle 绘图(十二边形)
题目要求:
补全代码,绘制一个正十二边形。
参考代码:
# 301,请在空格处补充代码import turtle
turtle.pensize(2)
d = 0for i inrange(1, 13):
turtle.fd(40)
d += 360/12
turtle.seth(d)
第十题:向量积运算
题目要求:
计算两个列表对应元素的乘积之和。
参考代码:
# 请补充若干行代码,完成向量积运算
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)
第十一题:Turtle 绘图(圆角矩形)
题目要求:
补全代码,绘制特定图形。
参考代码:
# 在横线处补充代码,不得修改其它代码# 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))
第十二题:文本数字检测
题目要求:
检测输入文本中是否包含数字。
参考代码:
# 请完善如下代码# 在....处填写多行代码,不得修改其他代码# PY202.pywhileTrue:
s = input("请输入不带数字的文本:")
i = 0for num in s:
if'0' <= num <= '9':
i += 1if i == 0:
breakprint(len(s))
第十三题:Turtle 绘图(坐标轴)
题目要求:
绘制坐标轴及柱状图。
参考代码:
# 在____________上补充代码# 请不要修改其他代码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()
第十四题:随机数生成
题目要求:
根据用户输入生成随机验证码。
参考代码:
# 在......上补充一行或多行代码# 不得修改其他代码import random
random.seed(2)
pdict = {'Alice': ['123456789'], 'Bob': ['234567891'], 'Lily': ['345678912'], 'Jane': ['45789123']}
name = input('请输入一个人名:')
if name in pdict:
print("{} {} {}".format(name, pdict.get(name)[0], random.randint(1000, 9999)))
else:
print("对不起,您输入的用户信息不存在。")
第十五题:Turtle 绘图(随机圆)
题目要求:
绘制随机位置和颜色的圆。
参考代码:
# 在____________上补充代码# 请不要修改其他代码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()
第十六题:信号滤波
题目要求:
实现简单的滑动平均滤波算法。
参考代码:
# 请在.....处填写多行表达式或语句# 不得修改其他代码
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='')
第十七题:Turtle 绘图(随机线段)
题目要求:
从特定点出发绘制随机长度的线段。
参考代码:
# 在____________上补充代码# 请不要修改其他代码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()
第十八题:数据清洗与分析
题目要求:
处理 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()
第十九题:Turtle 绘图(随机正方形)
题目要求:
绘制随机大小和位置的正方形。
参考代码:
# 在____________上补充代码# 请不要修改其他代码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()
第二十题:执行时间统计
题目要求:
读取日志文件,统计各操作的执行时间占比。
参考代码:
# 请在.....处填写多行表达式或语句# 请在_____处填写一行表达式或代码
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]))
第二十一题:Turtle 绘图(同心圆)
题目要求:
绘制不同半径和颜色的同心圆。
参考代码:
# 在____________上补充代码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()
第二十二题:中文分词
题目要求:
使用 jieba 库进行中文分词并统计。
参考代码:
# 在……上补充一行或多行代码# 可以修改其他代码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))
第二十三题:Turtle 绘图(网格)
题目要求:
绘制多个小方块组成的网格。
参考代码:
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()
第二十四题:随机数验证
题目要求:
循环输入名字,验证是否存在并生成随机数。
参考代码:
# 在……上补充一行或多行代码,不得修改其他代码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('对不起,您输入的名字不存在。')
第二十五题:Turtle 绘图(随机彩色圆)
题目要求:
绘制随机颜色和大小的圆。
参考代码:
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()
第二十六题:词频统计(文件输出)
题目要求:
统计词频并写入文件。
参考代码:
# 在……上补充一行或多行代码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()
第二十七题:Turtle 绘图(随机矩形)
题目要求:
绘制随机大小的矩形。
参考代码:
# 在____________上补充代码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()
第二十八题:字符串处理
题目要求:
去除指定字符并统计词数。
参考代码:
# 在____________上补充代码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)))
第二十九题:Turtle 绘图(填充图形)
题目要求:
绘制填充颜色的图形。
参考代码:
# 请在______处补充一行代码# 请不要修改其他代码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()
第三十题:文本清洗与词频
题目要求:
读取文件,清洗标点,统计高频词。
参考代码:
# 请在.....处填写多行表达式或语句# 不得修改其他代码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]))
第三十一题:Turtle 绘图(蛇形)
题目要求:
绘制蛇形曲线。
参考代码:
# 在____________上补充代码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)))
第三十三题:Turtle 绘图(五角星)
题目要求:
绘制多个五角星。
参考代码:
# 在____________上补充代码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()
第三十四题:蒙特卡洛模拟
题目要求:
模拟随机投点计算概率。
参考代码:
# 在____________上补充代码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)