Python 考试练习CODE NOTES / 学习手册
✦ 6 个练习 · 可翻页 · 代码一键复制
PYTHON · PRACTICE COLLECTION

2026年中旬,
Python考试题目。

将六道基础练习整理成清晰的代码笔记。每一页包含题目说明、完整代码与运行效果参考。

01 / 06

01. 打印九九乘法表

使用两层循环控制行和列,i 决定当前行,j 从 1 遍历到当前行。

10 分
完整代码 / 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 个数据并求和

重复接收用户输入,将每次输入转换成数字并累加到总和中。

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. 利用循环输出星号三角形

通过改变循环范围和空格数量,输出递增、递减、右对齐以及组合样式。

10 分
完整代码 / 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 次。账号与密码均正确时登录成功,否则提示剩余次数,最终失败则结束。

10 分
完整代码 / 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 在同一行更新进度显示。

10 分
完整代码 / 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()

学习统计子字符串出现次数,以及将字符串中的指定内容替换为新内容。

10 分
完整代码 / 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(默认值)表示全部替换,指定正整数则只替换前几次。
可使用键盘 ← / → 翻页