PYTHON · PRACTICE COLLECTION
2026年中旬,
Python考试题目。
将六道基础练习整理成清晰的代码笔记。每一页包含题目说明、完整代码与运行效果参考。
01 / 06
01. 打印九九乘法表
使用两层循环控制行和列,i 决定当前行,j 从 1 遍历到当前行。
完整代码 / SOURCE CODE
multiplication_table.py
for i in range(1, 10):
for j in range(1, i + 1):
print("%d*%d=%d " % (i, j, i * j), end="")
print()运行效果 / OUTPUT
1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 ... 9*1=9 9*2=18 9*3=27 ... 9*9=81
知识点:
range(1, i + 1) 的结束值不包含在范围内,所以要写 i + 1;end="" 让同一行的表达式连续输出。02. 循环输入 10 个数据并求和
重复接收用户输入,将每次输入转换成数字并累加到总和中。
完整代码 / SOURCE CODE
sum_ten_numbers.py
print("请输入10个数据")
total = 0
for i in range(1, 11):
n = float(input(f"请输入第{i}个数据:"))
total += n
print("求和总和为%.2f:" % total)知识点:
float() 可以接收整数或小数形式的输入;total += n 等价于 total = total + n。这里用 total 代替变量名 sum,避免覆盖 Python 内置的 sum() 函数。03. 利用循环输出星号三角形
通过改变循环范围和空格数量,输出递增、递减、右对齐以及组合样式。
完整代码 / SOURCE CODE
star_triangles.py
N = 3
# 递增三角形
for i in range(N):
for j in range(i + 1):
print("*", end="")
print()
print("-" * 30)
# 递减三角形
for i in range(N, 0, -1):
for j in range(i):
print("*", end="")
print()
print("-" * 30)
# 右对齐递减三角形
for i in range(N, 0, -1):
for j in range(N - i):
print(" ", end="")
for j in range(i):
print("*", end="")
print()
print("-" * 30)
# 星号递增、空格递减
for i in range(N, 0, -1):
for j in range(N - i + 1):
print("*", end="")
for j in range(i):
print(" ", end="")
print()运行效果 / OUTPUT
* ** *** --- *** ** * --- *** ** * --- * ** ***
知识点:
range(N, 0, -1) 表示从 N 倒数到 1;空格也是字符,先输出空格再输出星号即可实现右对齐。04. 账号密码检测功能
最多允许输入 4 次。账号与密码均正确时登录成功,否则提示剩余次数,最终失败则结束。
完整代码 / SOURCE CODE
login_check.py
user = ["admin", "admin123"]
logged_in = False
i = 4
while i > 0:
account = input("请输入账号:")
password = input("请输入密码:")
if account != user[0] or password != user[1]:
if i > 1:
print("账号或密码错误!剩余输入%d次" % (i - 1))
else:
logged_in = True
break
i -= 1
if logged_in:
print("登录成功,正在跳转")
else:
print("登录失败,请稍后再试")知识点:
or 表示“或”,账号或密码任意一个错误都会进入错误分支;break 用于在登录成功后立即结束循环。示例账号:admin,密码:admin123。05. 文本进度条
用循环模拟下载进度,利用回车符 \r 在同一行更新进度显示。
完整代码 / SOURCE CODE
progress_bar.py
from time import sleep
N = 100
print("正在开始下载".center(N, "="))
for i in range(N + 1):
print(
"\r[%.2f%%][%s%s]" % (
(i / N) * 100,
"*" * i,
"-" * (N - i)
),
end=""
)
sleep(0.1)
print()
print("下载已经完成".center(N, "="))运行效果 / OUTPUT
================ 正在开始下载 ================ [35.00%][***********************************-----...] ... [100.00%][****************************************************************************************************] ================ 下载已经完成 ================
知识点:
center(N, "=") 将文字居中并用等号填充;sleep(0.1) 暂停 0.1 秒。若想加快演示,可以减小等待时间。06. 字符串的 count() 与 replace()
学习统计子字符串出现次数,以及将字符串中的指定内容替换为新内容。
完整代码 / SOURCE CODE
string_methods.py
text: str = "helloworld"
# 统计下标 2(包含)到 4(不包含)范围内的 l
print(text.count("l", 2, 4))
# 将所有 l 替换成大写 L
print(text.replace("l", "L", -1))运行效果 / OUTPUT
1 heLLoworLd
方法说明:
count(sub[, start[, end]]):统计指定范围内子字符串出现的次数,end 不包含在统计范围内。replace(old, new, count):将 old 替换为 new;count=-1(默认值)表示全部替换,指定正整数则只替换前几次。
可使用键盘 ← / → 翻页