跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python算法

二级 Python 考试真题及参考答案:简单应用题部分

二级 Python 考试真题精选,涵盖字符串处理、文件读写、turtle 绘图及字典操作等基础知识点。提供完整参考代码与填空解析,适合备考复习使用。

全栈工匠发布于 2026/3/30更新于 2026/7/1033 浏览
二级 Python 考试真题及参考答案:简单应用题部分

前言

本合集整理了 Python 二级考试中常见的简单应用题,涵盖字符串处理、文件读写、turtle 绘图、字典操作等基础知识点。以下题目均经过整理与代码修正,确保逻辑准确,适合备考复习使用。

第 1 套题

题目要求

统计输入序列中各元素出现的次数,并按数量降序输出。

# 请在...处使用一行或多行代码替换
# 请在______处使用一行代码替换
txt = input("请输入类型序列:")
tem = txt.split()
d = {}
for i in range(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 = 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 = 0
for i in d.values():
    average_grade = average_grade + int(i)
average_grade = average_grade / (ls)
(.(max_course, max_grade, min_course, min_grade, average_grade))
len
print
"最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}"
format

第 3 套题

题目要求

使用 turtle 绘制三角形。

import turtle as t
for i in range(3):
    t.seth(i * 120)
    t.fd(200)

第 4 套题

题目要求

使用 turtle 绘制正方形路径。

import turtle
for i in range(4):
    turtle.fd(100)
    turtle.fd(-100)
    turtle.seth((i + 1) * 90)

第 5 套题

题目要求

使用 turtle 绘制正八边形。

import turtle
turtle.pensize(2)
d = 0
for i in range(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 = 0
for vote in votes:
    num = len(vote.split())
    if num == 1 and vote in names:
        D[vote[:-1]] = D.get(vote[:-1], 0) + 1
        NUM += 1
    else:
        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 套题

题目要求

使用 turtle 绘制正五边形。

import turtle
turtle.pensize(2)
d = 0
for i in range(1, 6):
    turtle.fd(100)
    d += 360 / 5
    turtle.seth(d)

第 8 套题

题目要求

统计有效票数及最具人气明星。

py201.py

f = open("vote.txt")
names = f.readlines()
f.close()
n = 0
for name in names:
    num = len(name.split())
    if num == 1:
        n += 1
print("有效票{}张".format(n))

py202.py

f = open("vote.txt")
names = f.readlines()
f.close()
D = {}
for name in names:
    if len(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 套题

题目要求

使用 turtle 绘制正十二边形。

import turtle
turtle.pensize(2)
d = 0
for i in range(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
for i in range(len(ls)):
    s += (ls[i] * lt[i])
print(s)

第 11 套题

题目要求

使用 turtle 绘制带圆角的正方形组合。

import turtle
turtle.pensize(2)
for i in range(4):
    turtle.fd(200)
    turtle.left(90)
    turtle.left(360 - 45)
    turtle.circle(100 * pow(2, 0.5))

第 12 套题

题目要求

输入不带数字的文本,检测是否包含数字。

while True:
    s = input("请输入不带数字的文本:")
    i = 0
    for num in s:
        if '0' <= num <= '9':
            i += 1
    if i == 0:
        break
print(len(s))

第 13 套题

题目要求

使用 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 in range(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 套题

题目要求

使用 turtle 和 random 绘制随机圆形。

import turtle as t
import random as r
color = ['red', 'orange', 'blue', 'green', 'purple']
r.seed(1)
for i in range(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 in range(len(img) - 2):
    k = 0
    for j in range(3):
        k += filter[j] * img[i + j]
    res.append(k)
for r in res:
    print('{:<10.3f}'.format(r), end='')

第 17 套题

题目要求

使用 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 in range(4):
    x0, y0 = points[i]
    t.penup()
    t.goto(x0, y0)
    t.pendown()
    length = r.randint(6, 16)
    for j in range(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 套题

题目要求

使用 turtle 绘制随机正方形。

import turtle as t
import random as r
r.seed(1)
t.pensize(2)
for i in range(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 in range(4):
        t.fd(length)
        t.seth(90 * (j + 1))
t.done()

第 20 套题

题目要求

读取执行时间数据,统计总时间及各类占比。

sumtime = 0
percls = []
ts = {}
with open('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 in range(3):
    print('the top {} percentage time is {}, spent in "{}" operation'.format(i, tns[i][1], tns[i][0]))

第 21 套题

题目要求

使用 turtle 绘制同心圆。

import turtle as t
color = ['red', 'green', 'blue']
rs = [10, 30, 60]
for i in range(3):
    t.penup()
    t.goto(0, -(rs[i] - rs[0]))
    t.pendown()
    t.pencolor(color[i])
    t.circle(rs[i])
t.done()

第 22 套题

题目要求

使用 jieba 分词并统计词语个数。

import jieba
s = input("请输入一段中文文本,句子之间以逗号分隔:")
slst = jieba.lcut(s)
wordstr = ""
num = 0
for word in slst:
    if word not in [',', '。']:
        wordstr = wordstr + word + "/"
        num += 1
print(wordstr)
print("非标点符号的中文词语个数是" + str(num))

第 23 套题

题目要求

使用 turtle 绘制多个正方形。

import turtle
n = 4
for j in range(n):
    turtle.pendown()
    for i in range(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 = 3
while flag > 0:
    flag -= 1
    name = input("请输入一个名字:")
    if name in persons:
        num = r.randint(1000, 9999)
        print('{} {}'.format(name, num))
    elif name == 'q':
        break
    elif name not in persons:
        print('对不起,您输入的名字不存在。')

第 25 套题

题目要求

使用 turtle 和 random 绘制随机彩色圆。

import turtle as t
import random as r
color = ['red', 'green', 'blue', 'purple', 'black']
r.seed(1)
for j in range(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 套题

题目要求

使用 jieba 分词并统计词频写入文件。

import jieba
s = input("请输入一个中文字符串,包含逗号和句号:\n")
words = jieba.lcut(s)
d = {}
for i in words:
    if len(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 套题

题目要求

使用 turtle 和 random 绘制随机十字线。

import turtle as t
import random as r
color = ['red', 'blue', 'purple', 'black']
r.seed(1)
for j in range(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 in range(1, 5):
        t.fd(ra)
        t.seth(90 * i)
t.done()

第 28 套题

题目要求

清理特殊字符并使用 jieba 分词。

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 套题

题目要求

使用 turtle 填充颜色绘制图形。

import turtle as t
for i in range(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 = [",", ":", "、", "。", ";", "'", "'"]
with open("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 in range(5):
    print('{}:{}'.format(ls[i][0], ls[i][1]))

第 31 套题

题目要求

定义函数绘制蛇形曲线。

import random as r
import turtle as t

def drawSnake(angl):
    t.penup()
    t.goto(0, 200)
    t.pendown()
    t.seth(-1 * angl)
    for i in range(length):
        t.circle(radius, angl)
        t.circle(-radius, angl)

length, radius = 3, 40
r.seed(1)
color = ['red', 'blue', 'purple', 'black']
for i in range(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 套题

题目要求

使用 turtle 绘制多边形。

import turtle as t
color = ['red', 'green', 'blue', 'orange', 'pink']
for i in range(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

def calpi(c, darts):
    p = 0
    for i in range(darts):
        p += r.randint(0, darts)
    print("{:2}{:12}{:12}".format(c, darts, p))

n = 4
DART = 3
r.seed(1)
for i in range(n):
    c = i + 1
    darts = c * DART
    calpi(c, darts)

目录

  1. 前言
  2. 第 1 套题
  3. 题目要求
  4. 请在...处使用一行或多行代码替换
  5. 请在______处使用一行代码替换
  6. 第 2 套题
  7. 题目要求
  8. 请在...处使用一行或多行代码替换
  9. 第 3 套题
  10. 题目要求
  11. 第 4 套题
  12. 题目要求
  13. 第 5 套题
  14. 题目要求
  15. 第 6 套题
  16. 题目要求
  17. 第 7 套题
  18. 题目要求
  19. 第 8 套题
  20. 题目要求
  21. 第 9 套题
  22. 题目要求
  23. 第 10 套题
  24. 题目要求
  25. 第 11 套题
  26. 题目要求
  27. 第 12 套题
  28. 题目要求
  29. 第 13 套题
  30. 题目要求
  31. 第 14 套题
  32. 题目要求
  33. 第 15 套题
  34. 题目要求
  35. 第 16 套题
  36. 题目要求
  37. 第 17 套题
  38. 题目要求
  39. 第 18 套题
  40. 题目要求
  41. 第 19 套题
  42. 题目要求
  43. 第 20 套题
  44. 题目要求
  45. 第 21 套题
  46. 题目要求
  47. 第 22 套题
  48. 题目要求
  49. 第 23 套题
  50. 题目要求
  51. 第 24 套题
  52. 题目要求
  53. 第 25 套题
  54. 题目要求
  55. 第 26 套题
  56. 题目要求
  57. 第 27 套题
  58. 题目要求
  59. 第 28 套题
  60. 题目要求
  61. 第 29 套题
  62. 题目要求
  63. 第 30 套题
  64. 题目要求
  65. 第 31 套题
  66. 题目要求
  67. 第 32 套题
  68. 题目要求
  69. 第 33 套题
  70. 题目要求
  71. 第 34 套题
  72. 题目要求
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于微信小程序的校园拼车出行平台设计与实现
  • 数据结构:快慢指针原理及链表环检测
  • 搭建你的第一个 Agent 智能体
  • Java 核心面试题精选与解析
  • AI 调参技巧:网格搜索优化
  • AI 大模型研究热点:RAG、Agent、Mamba、LoRA 与 MoE 技术解析
  • Python 实现 MCP 客户端调用高德地图天气查询示例
  • Diffusion Transformer(DiT):将 U-Net 换成 ViT,应用于视频生成与机器人动作预测
  • Agent AI 多模态交互综述
  • GitHub 浏览器插件实现界面中文翻译
  • C++入门:命名空间(namespace)详解
  • SpringBoot 集成 RabbitMQ:核心原理解析
  • 无人机路径规划核心算法解析:从 A*到蚁群策略
  • 联邦学习架构深度分析:多家医院协作训练 AI 模型方案
  • LLM 大模型原理详解:词向量、Transformer 与训练机制
  • JS关闭当前网页
  • 二叉搜索树详解:原理、实现与 TreeMap 应用
  • Spring Boot Web 三大核心交互案例:表单、AJAX 及 JSON
  • 百度文心跨模态大模型支持内容分析自定义标签库
  • 鸿蒙金融理财全栈项目:风险控制、合规审计与产品创新

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online