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

二级 Python 考试基础操作题真题与参考代码汇总

二级 Python 考试基础操作题真题汇总,涵盖字符串处理、列表运算、随机数生成、文件读写及函数定义等核心考点。提供完整参考代码与关键逻辑解析,帮助熟悉填空题与代码完善题的解题思路,提升上机实操能力。

樱花落尽发布于 2026/3/29更新于 2026/6/1123 浏览
二级 Python 考试基础操作题真题与参考代码汇总

二级 Python 考试基础操作题真题与参考代码汇总

整理了近期二级 Python 考试中的基础操作题,涵盖字符串处理、列表运算、随机数生成、文件读写及函数定义等核心考点。以下提供完整的参考代码与关键逻辑解析,帮助熟悉填空题与代码完善题的解题思路。

第 1 套题

题目要求: 导入 jieba 库并计算中文文本的平均词长。

import jieba
txt = input("请输入一段中文文本:")
ls = jieba.lcut(txt)
print("{:.1f}".format(len(txt) / len(ls)))

解析: 注意 jieba 需要单独安装,使用 lcut 进行精确模式分词。

第 2 套题

题目要求: 格式化输出字符,利用 ASCII 码转换。

n = eval(input("请输入一个数字:"))
print("{:+^11}".format(chr(n - 1) + chr(n) + chr(n + 1)))

解析: 考察 chr() 函数将整数转换为字符,以及字符串格式化中的居中填充。

第 3 套题

题目要求: 格式化输出正整数,添加分隔符和填充。

n = eval(input("请输入正整数:"))
print("{:->20,}".format(n))

解析: : 后紧跟格式说明,- 表示左对齐,> 表示右对齐,, 表示千位分隔符。

第 4 套题

题目要求: 分词后逆序打印单词。

import jieba
txt = input("请输入一段中文文本:")
ls = jieba.lcut(txt)
 i  ls[::-]:
    (i, end=)
for
in
1
print
""

解析: 列表切片 [::-1] 实现逆序,end="" 防止换行。

第 5 套题

题目要求: 从列表中随机抽取元素。

import random
brandlist = ['华为', '苹果', '诺基亚', 'OPPO', '小米']
random.seed(0)
name = random.sample(brandlist, 1)
print(name)

解析: seed 用于控制随机种子保证结果可复现,sample 用于不重复抽样。

第 6 套题

题目要求: 统计中文字符数和词语数。

import jieba
s = input("请输入一个字符串")
n = len(s)
m = len(jieba.lcut(s))
print("中文字符数为{},中文词语数为{}。".format(n, m))

解析: 区分字符长度与分词后的词语数量差异。

第 7 套题

题目要求: 计算两点间距离。

ntxt = input("请输入 4 个数字 (空格分隔):")
nls = ntxt.split()
x0 = eval(nls[0])
y0 = eval(nls[1])
x1 = eval(nls[2])
y1 = eval(nls[3])
r = pow(pow(x1 - x0, 2) + pow(y1 - y0, 2), 0.5)
print("{:.2f}".format(r))

解析: 利用勾股定理计算欧几里得距离,split() 默认按空格分割。

第 8 套题

题目要求: 字符串居中填充。

s = input("请输入一个字符串:")
print("{:=^20}".format(s))

解析: = 为填充字符,^ 为居中对齐。

第 9 套题

题目要求: 根据数量计算阶梯价格。

n = eval(input("请输入数量:"))
if n == 1:
    cost = n * 160
elif n <= 4:
    cost = n * 160 * 0.9
elif n <= 9:
    cost = n * 160 * 0.8
else:
    cost = n * 160 * 0.7
print("总额为:", cost)

解析: 典型的条件分支结构,注意判断顺序和边界值。

第 10 套题

题目要求: 斐波那契数列生成。

a, b = 0, 1
while a <= 100:
    print(a, end=',')
    a, b = b, a + b

解析: 元组解包赋值是 Python 交换变量的经典写法。

第 11 套题

题目要求: 列表对应元素相乘求和。

a = [3, 6, 9]
b = eval(input())
s = 0
for i in range(3):
    s += a[i] * b[i]
print(s)

解析: 遍历索引访问列表元素,累加积。

第 12 套题

题目要求: 生成指定范围的随机整数。

import random
random.seed(123)
for i in range(10):
    print(random.randint(1, 999), end=",")

解析: randint(a, b) 包含两端点。

第 13 套题

题目要求: 右对齐填充星号。

n = eval(input("请输入正整数:"))
print("{:*>15}".format(n))

解析: * 作为填充字符,> 右对齐。

第 14 套题

题目要求: 列表元素相加生成新列表。

a = [3, 6, 9]
b = eval(input())
c = []
for i in range(len(b)):
    c.append(a[i] + b[i])
print(c)

解析: 动态获取列表长度 len(b) 确保循环安全。

第 15 套题

题目要求: 累加随机数的平方。

import random
random.seed(0)
s = 0
for i in range(5):
    n = random.randint(1, 97)
    s = s + pow(n, 2)
print(s)

解析: 注意变量初始化位置,pow(n, 2) 等同于 n ** 2。

第 16 套题

题目要求: 等宽填充。

n = eval(input("请输入正整数:"))
print("{:=^14}".format(n))

第 17 套题

题目要求: 在列表指定位置插入元素。

a = [3, 6, 9]
b = eval(input())
j = 1
for i in range(len(a)):
    b.insert(j, a[i])
    j += 2
print(b)

解析: insert(index, element) 在指定索引前插入,注意索引随插入递增。

第 18 套题

题目要求: 累加随机数的立方。

import random
random.seed(100)
s = 0
for i in range(3):
    s = s + pow(random.randint(1, 9), 3)
print(s)

第 19 套题

题目要求: 格式化输出数值。

s = input()
print("{:=>25,}".format(eval(s)))

解析: 先转换类型再格式化。

第 20 套题

题目要求: 字符串反转与长度。

s = input()
print(s[::-1], end="")
print(len(s))

解析: 切片步长为 -1 实现反转。

第 21 套题

题目要求: 生成等差数列。

a, b, c = eval(input())
ls = []
for i in range(c):
    ls.append(a + b * i)
print(ls)

解析: 通项公式 a + n*d 的应用。

第 22 套题

题目要求: 十六进制格式化。

s = input()
print("{:^30x}".format(eval(s)))

解析: x 表示小写十六进制。

第 23 套题

题目要求: 数字转中文。

n = input()
s = "〇一二三四五六七八九"
for c in "0123456789":
    n = n.replace(c, s[int(c):int(c) + 1])
print(n)

解析: 利用 replace 逐个替换数字字符。

第 24 套题

题目要求: 生成等比数列。

a, b, c = eval(input())
ls = []
for i in range(c):
    ls.append(str(a * (b ** i)))
print(",".join(ls))

解析: 注意最后用 join 连接成字符串。

第 25 套题

题目要求: 逗号分隔数据右对齐。

num = input().split(",")
for i in num:
    print("{:>10}".format(i), end="")

解析: 输入需先分割,输出时保持不换行。

第 26 套题

题目要求: 复利计算模型。

scale = 0.0001
def calv(base, day):
    val = base * pow((1 + scale), day * 11)
    return val

print('5 年后的成就值是{}'.format(int(calv(1, 5 * 365))))
year = 1
while calv(1, year * 365) < 100:
    year += 1
print('{}年后成就值是 100'.format(year))

解析: 函数封装与循环终止条件判断。

第 27 套题

题目要求: 异常处理与输入验证。

while True:
    try:
        a = eval(input('请输入一个正整数:'))
        if a > 0 and a % 1 == 0:
            print(a)
            break
        else:
            print("请输入正整数")
    except:
        print("请输入正整数")

解析: try-except 捕获非数字输入,% 1 == 0 检查是否为整数。

第 28 套题

题目要求: 打印金字塔图案。

n = input('请输入一个正整数:')
for i in range(1, eval(n) + 1):
    print('{:0>2}{}{}'.format(i, " ", ">" * (i)))

解析: 字符串乘法 ">" * i 快速生成重复字符。

第 30 套题

题目要求: 遍历学生成绩计算总分。

std = [['张三', 90, 87, 95], ['李四', 83, 80, 87], ['王五', 73, 57, 55]]
modl = "亲爱的{}, 你的考试成绩是:英语{}, 数学{}, Python 语言{}, 总成绩{}.特此通知."
for st in std:
    cnt = 0
    for i in range(1, 4):
        cnt += st[i]
    print(modl.format(st[0], st[1], st[2], st[3], cnt))

解析: 嵌套循环处理二维列表数据。

第 31 套题

题目要求: 数字各位求和。

s = input("请输入一个正整数:")
cs = 0
for c in s:
    cs += int(c)
print('{:=^25}'.format(cs))

解析: 字符串遍历转为整数累加。

第 32 套题

题目要求: 统计中文字符。

s = input("请输入中文和字母的组合:")
count = 0
for c in s:
    if "\u4e00" <= c <= "\u9fff":
        count += 1
print(count)

解析: Unicode 范围判断汉字。

第 33 套题

题目要求: 查找最大值。

s = input("请输入一组数据:")
ls = s.split(",")
lt = []
for i in ls:
    lt.append(eval(i))
print(max(lt))

解析: 数据清洗后使用内置 max 函数。

第 34 套题

题目要求: 小数部分求和(倒序)。

s = input("请输入一个小数:")
s = s[::-1]
cs = 0
for c in s:
    if c == '.':
        break
    cs += eval(c)
print('{:*>10}'.format(cs))

解析: 倒序后遇到小数点即停止,避免重复计算整数部分。

第 35 套题

题目要求: 时间对象转换。

import time
t = input("请输入一个浮点数时间信息:")
s = time.ctime(eval(t))
ls = s.split()
print(ls[3].split(":")[0])

解析: ctime 返回标准时间字符串,通过索引提取小时。

第 36 套题

题目要求: 随机字符生成。

import random
s = input("请输入随机种子:")
ls = []
for i in range(26):
    ls.append(chr(ord('a') + i))
for i in range(10):
    ls.append(chr(ord('0') + i))
random.seed(eval(s))
for i in range(10):
    for j in range(8):
        print(ls[random.randint(0, 35)], end='')
    print()

解析: 混合字母数字池,双重循环控制输出行数。

第 37 套题

题目要求: 类型判断与字符串拼接。

ls = eval(input())
s = ""
for item in ls:
    if type(item) == type("香山"):
        s += item
print(s)

解析: type() 比较判断字符串类型。

第 38 套题

题目要求: 猜数字游戏。

import random
random.seed(25)
n = random.randint(1, 101)
for m in range(1, 7):
    x = eval(input("请输入猜测数字:"))
    if x == n:
        print("恭喜你,猜对了!")
        break
    elif x > n:
        print("大了,再试试")
    else:
        print("小了,再试试")
if m == 6:
    print("谢谢!请休息后再猜")

解析: 循环次数控制与退出机制。

第 39 套题

题目要求: 奇偶数倒数求和。

def f(n):
    s = 0
    if n % 2 == 1:
        for i in range(1, n + 1, 2):
            s += 1 / i
    else:
        for i in range(2, n + 1, 2):
            s += 1 / i
    return s

n = int(input())
print("{:.2f}".format(f(n)))

解析: 函数定义与步长参数 range(start, stop, step)。

第 40 套题

题目要求: 打印三角形。

n = eval(input("请输入一个整数:"))
for i in range(1, n):
    for j in range(1, n):
        if i <= j < n:
            print(j, end=" ")
    print()

解析: 双重循环控制行列关系。

第 41 套题

题目要求: 大小写转换与反转。

s = input("请输入 5 个小写字母:")
s = s.upper()
print(','.join(s[::-1]))

解析: 链式调用字符串方法。

第 42 套题

题目要求: 随机数序列生成。

import random
n = eval(input())
random.seed(100)
for i in range(1, 11):
    if i < 10:
        print(random.randint(1, n), end=',')
    else:
        print(random.randint(1, n))

解析: 最后一个数字不带逗号,注意 end 参数。

第 43 套题

题目要求: 动态填充符号。

a = input("请输入填充符号:")
s = "PYTHON"
print("{0:{1}^30}".format(s, a))

解析: 嵌套格式化 {0:{1}^30} 允许动态指定填充符。

第 44 套题

题目要求: 提取数字求和。

myinput = input("请输入:")
ls = myinput.split(',')
s = 0
for c in ls:
    if c.strip(" ").isdigit():
        s += eval(c)
print("数字和是:" + str(s))

解析: strip() 去除首尾空格,isdigit() 判断纯数字。

第 45 套题

题目要求: 文件读取去重。

f = open('data.txt', 'r')
ls = []
for line in f:
    for c in line:
        if c not in ls:
            ls.append(c)
f.close()
print(len(ls))

解析: 文件操作基本流程,列表查重。

第 46 套题

题目要求: 浮点数格式化。

f = eval(input("请输入一个浮点数:"))
print("浮点数是:{:>10.2f}".format(f))

解析: .2f 保留两位小数。

第 47 套题

题目要求: 连续字母生成。

h, w = eval(input("请输入起始英文字母的序号和连续输出的个数,逗号隔开:"))
cstr = ''
for i in range(w):
    c = chr(97 + h + i)
    cstr += c
print(cstr)

解析: ord('a') 为 97,ASCII 码计算。

第 48 套题

题目要求: 区间随机数。

import random as r
r.seed(1)
s = input("请输入三个整数 n,m,k:")
slist = s.split(",")
for i in range(eval(slist[0])):
    print(r.randint(eval(slist[2]), eval(slist[1])))

解析: 注意输入参数的顺序对应 randint(min, max)。

第 49 套题

题目要求: 字符串分割与解析。

sinfo = input()
s = sinfo.split(",")
print("姓名,年龄")
for strname in s:
    sname = strname[:-2]
    sage = strname[-2:]
    print("{},{}".format(sname, sage))

解析: 字符串切片提取子串。

第 50 套题

题目要求: 随机数平均数。

import random
random.seed(20)
sum_val = 0
for i in range(10):
    n = random.randint(1, 20)
    sum_val += n
    print('第{}个数:{}'.format(i, n))
print("10 个随机数的平均数是:{}".format(round(sum_val / 10, 1)))

解析: 变量名避免使用关键字 sum,改用 sum_val。

第 51 套题

题目要求: 因子查找。

def allFactor(n):
    if n <= 1:
        return [n]
    if n <= 3:
        return [1, n]
    i = 1
    rlist = []
    while i <= n:
        if n % i == 0:
            rlist.append(i)
        i += 1
    return rlist

try:
    n = eval(input("请输入一个正整数:"))
    print("整数{}的因子是:{}".format(n, allFactor(n)))
except:
    print("输入错误!")

解析: 循环遍历至 n 本身,注意边界条件。

第 52 套题

题目要求: 边框绘制。

f = input("请输入一个单词:")
print("{}".format("=" * 20))
print("|{:*^18}|".format(f))

解析: 字符串乘法构建边框线。

第 53 套题

题目要求: 列表参数传递。

def vfun(x, b):
    for i in b:
        x += eval(i)
    return x

lc = input().split(',')
print(vfun(10, lc))

解析: 列表作为参数传入函数内部修改。

第 54 套题

题目要求: 大小写转换过滤。

ss = input("请输入一个字符串:")
for s in ss:
    if ord('A') <= ord(s) <= ord('z'):
        print(s.upper(), end="")
    else:
        continue

解析: ord() 获取字符编码进行比较。

第 55 套题

题目要求: 圆面积计算。

pi = 3.14159
r = eval(input("请输入圆的半径:"))
print("圆的半径是{:=^10.2f},面积是{:*>10.2f}".format(r, pi * r * r))

解析: 格式化输出美化结果。

第 56 套题

题目要求: 列表平均值。

ls = eval(input())
print("输入是:{},平均数是:{}".format(ls, sum(list(ls)) / len(ls)))

解析: sum() 配合 len() 计算均值。

第 57 套题

题目要求: 全小写判断。

s = input("请输入字符串:")
for c in s:
    zimu = "qwertyuiopasdfghjklzxcvbnm"
    if c in zimu:
        pass
    else:
        print("不全是英文小写")
        break
else:
    print("全部是英文小写")

解析: for-else 结构,循环正常结束才执行 else。

目录

  1. 二级 Python 考试基础操作题真题与参考代码汇总
  2. 第 1 套题
  3. 第 2 套题
  4. 第 3 套题
  5. 第 4 套题
  6. 第 5 套题
  7. 第 6 套题
  8. 第 7 套题
  9. 第 8 套题
  10. 第 9 套题
  11. 第 10 套题
  12. 第 11 套题
  13. 第 12 套题
  14. 第 13 套题
  15. 第 14 套题
  16. 第 15 套题
  17. 第 16 套题
  18. 第 17 套题
  19. 第 18 套题
  20. 第 19 套题
  21. 第 20 套题
  22. 第 21 套题
  23. 第 22 套题
  24. 第 23 套题
  25. 第 24 套题
  26. 第 25 套题
  27. 第 26 套题
  28. 第 27 套题
  29. 第 28 套题
  30. 第 30 套题
  31. 第 31 套题
  32. 第 32 套题
  33. 第 33 套题
  34. 第 34 套题
  35. 第 35 套题
  36. 第 36 套题
  37. 第 37 套题
  38. 第 38 套题
  39. 第 39 套题
  40. 第 40 套题
  41. 第 41 套题
  42. 第 42 套题
  43. 第 43 套题
  44. 第 44 套题
  45. 第 45 套题
  46. 第 46 套题
  47. 第 47 套题
  48. 第 48 套题
  49. 第 49 套题
  50. 第 50 套题
  51. 第 51 套题
  52. 第 52 套题
  53. 第 53 套题
  54. 第 54 套题
  55. 第 55 套题
  56. 第 56 套题
  57. 第 57 套题
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 链表算法实战:相交节点查找与回文结构判断
  • Arrow 游戏叙事工具:三大实战场景与可视化创作
  • Spring Boot 集成数据仓库与 ETL 工具实战
  • EasyOCR 入门实战:Python 图文识别快速上手
  • PHP Token 主流实现方案深度解析
  • C 语言快速排序详解:从基础到非递归实现
  • 基于 Docker 的本地 AI 量化分析平台搭建与波浪理论实战
  • sherpa-onnx 离线语音部署框架:Whisper、Moonshine、SenseVoice 多模型支持
  • Apache HTTP Server 详细介绍与配置指南
  • 长亭 Xray Web 漏洞扫描器实战指南
  • 低代码不是终点:走向意图驱动的企业级开发新范式
  • VS Code 无法找到 Python 解释器的解决方案及版本选择
  • OpenClaw 入门指南:AI Agent 本地部署与优化
  • 深入解析 VR 与 AR:从技术原理到未来图景
  • 构建 Vue 全局错误处理体系,实现业务与错误的清晰解耦
  • Raphael AI:全球首个无限制免费 AI 图片生成工具
  • OpenClaw.ai:Agentic AI 时代的 Spring Framework 时刻
  • GitHub Copilot 自动同步 Claude Code 本地技能与 Agent 配置
  • Windows 本地部署 OpenClaw AI 助手并打通飞书企业微信
  • AI 编程技能(Skill)详解与 Java 方法生成实战

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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