Review · Day 08

第一次阶段复习
与测验

第八天没有学习新内容。我回顾了前七天的 Python 基础,通过基础知识、代码阅读和综合编程三部分测验检查真实掌握程度,最终取得 81 分。

本次复习范围

测验覆盖从第一行 Python 到列表进阶的全部练习内容。

  • print()、变量、input()int()
  • 数字运算与避免除零错误
  • if / elif / else 条件判断
  • while 循环与死循环
  • forrange()
  • 列表的创建、下标、添加、修改与删除
  • 列表查询、插入、排序和次数统计

以后继续采用“学习七天,第八天阶段复习与测验”的节奏。下一次阶段复习安排在第 16 天。

第一部分:基础知识

基础部分得分 19 / 30。我正确理解了字符串转整数、条件判断、死循环原因和 in 查询,但在 range() 与列表下标变化上出现错误。

range review
for number in range(5, 0, -1):
    print(number)

# 输出:5、4、3、2、1
# 5 是开始,0 不包含,-1 是步长

列表题的正确变化是:添加 C、在位置 1 插入 X、再删除位置 2 的 B,最终得到 ["A", "X", "C"]

第二部分:代码阅读与找错

这一部分得分 27 / 30。我能够读出循环结果,也能发现代码执行顺序问题;失分来自只说明 input() 得到字符串,却没有完整写出转换代码。

type review
age = int(input("请输入年龄:"))

if age >= 18:
    print("已经成年")
else:
    print("尚未成年")

我还正确判断出:如果先查询“物理”、最后才把它添加到列表,查询结果仍然是“没找到”。操作必须放在使用数据之前。

综合编程:成绩记录查询器

综合题得分 35 / 40。程序需要收集三项成绩、倒序排列、逐项输出,并查询某个成绩出现了多少次。

review_test.py
scores = []

for number in range(3):
    score = int(input("请输入成绩:"))
    scores.append(score)

scores.sort(reverse=True)
print("从高到低的成绩:")

for score in scores:
    print(score)

search = int(input("请输入要查找的成绩:"))

if search in scores:
    score_count = scores.count(search)
    print("这个成绩出现了", score_count, "次")
else:
    print("没有找到这个成绩")

print("总计记录了", len(scores), "个成绩")

初次完成时,我使用三个下标分别输出成绩,并把总数统计写在 if 内。订正后改用 for 遍历,并将总数输出移到整个判断之外。

测验结果

  • 基础知识:19 / 30
  • 代码阅读与找错:27 / 30
  • 综合编程:35 / 40
  • 总分:81 / 100
  • 订正状态:全部完成

下一阶段的重点

目前掌握较好的是输入转换、条件判断、循环基础和列表的常用操作。下一阶段需要继续巩固:

  • range(开始, 停止, 步长) 各参数的作用
  • 列表下标始终从 0 开始
  • 使用循环代替重复代码
  • 通过缩进判断代码属于循环、判断还是外部流程

这次测验的价值不只是得到 81 分,而是准确发现了哪里容易混淆,并用订正把错误重新变成已经理解的知识。