Python 基础视频怎么学?用三个小练习检验是否学会

编程狮(w3cschool.cn) 2026-09-11 17:59:19 浏览数 (82)
反馈

判断 Python 基础视频有没有学会,要看你能否独立改出一个新结果,而不是是否记得老师输入的代码。你可能跟着视频做完了一段程序,关掉播放器后却不知道第一行从哪里写。这通常不是记忆力问题,而是观看过程中没有练习“从需求拆成变量、条件和函数”。

看完视频怎么练三个任务检验掌握程度

本文用商品小计、成绩分类、重复调用三个练习建立这条路线。你只需要 Python 3.12 或以上版本和一个文本编辑器,不需要安装第三方包。每个练习都给出完整文件和明确预期,先运行,再改输入,最后解释错误;用实际结果决定该回看哪一段视频。

一、先把视频章节变成能检查的任务

看到变量章节时,不要只记住赋值符号。给自己一个具体任务:两本练习册,每本单价十二元,总金额应该是二十四元。变量是给值起名字的方式,后面的表达式读取的是这些值。把数量改成三本,如果输出仍然是二十四,就说明程序里可能把结果写死了。

暂停视频后,先用纸写出输入、计算规则、输出。输入可以暂时写在代码里,等规则清楚后再加键盘输入。这样遇到错误时,容易分清是转换输入出错,还是乘法逻辑出错,不会同时处理两类问题。

语法遗漏可以查 Python3 教程,但练习时尽量先说明自己缺的是哪一项知识。例如“我不知道如何把字符串转换成整数”,比“这段代码不会写”更容易找到需要回看的章节。

二、练习一:从变量算出商品小计

新建 subtotal.py,保存下面的完整程序。金额暂时按“分”计算,用整数避免在第一个练习里引入浮点数舍入问题。

unit_price = 1250
quantity_text = "2"
quantity = int(quantity_text)
if quantity < 0:
    raise ValueError("数量不能为负数")
subtotal = unit_price * quantity
print(f"编程狮练习单:{subtotal} 分")

运行后应得到 2500 分。quantity_text 是字符串,int 把符合整数格式的内容转换成整数。若把它改成“二”,转换会抛出 ValueError;若改成“-1”,转换成功,但会被业务规则拒绝。这两种失败发生在不同位置。

先完成三次修改:数量改成零,结果应为零;数量改成三,结果应为三千七百五十分;数量改成负数,程序应停止并说明原因。不要先用 try/except 把所有异常隐藏起来。初学阶段保留错误信息,反而能帮助你看清程序在哪里偏离预期。

当你能解释字符串与整数的区别,再把固定字符串换成 input 的返回值。键盘输入始终先得到字符串,即使用户按下的是数字键,也要按所需类型转换。程序从上到下执行,转换必须发生在计算之前。

三、练习二:用条件和循环统计成绩

第二个文件 grades.py 接收一组已经准备好的整数成绩。先写清规则:零到一百是合法区间,六十分及以上合格,范围外数据单独计数。这里没有“遇到坏数据就当作零分”的默认处理。

scores = [59, 60, 100, -1, 101]
passed = 0
failed = 0
invalid = 0
for score in scores:
    if not 0 <= score <= 100:
        invalid += 1
    elif score >= 60:
        passed += 1
    else:
        failed += 1
print(f"合格 {passed},未合格 {failed},非法 {invalid}")

预期结果是合格二人、未合格一人、非法二条。先检查范围,再检查是否合格,是有意安排的顺序。如果把“超过六十分”放在第一分支,一百零一分就可能被错误算成合格。

这时再回看视频中的 if、elif、else,会发现它们不是三种随意替换的写法。它们共同表达互斥的分类:一条成绩只进入一个分支。循环则负责把同一套分类规则应用到每个元素,而不是让三个计数器重复初始化。

变量和循环语法忘记时,可以翻 Python 速查手册。重点是检查缩进:计数器应放在循环外;如果每轮都重新赋零,最后只剩最后一条成绩的结果。

修改内容 应观察到的变化 检查的知识点
列表改为空列表 三个计数均为零 循环可执行零次
只保留六十分 合格一人 边界是否包含等号
加入一百零一分 非法数量增加 条件顺序

四、练习三:把计算写成可重复调用的函数

函数像一张写好规则的计算单:调用者提供参数,函数交回结果。下面保存为 pricing.py,沿用第一题的整数金额,但让不同订单都能复用计算逻辑。

def subtotal(price_cents, quantity):
    if type(price_cents) is not int or type(quantity) is not int:
        raise TypeError("单价和数量必须是整数")
    if price_cents < 0 or quantity < 0:
        raise ValueError("单价和数量不能为负")
    return price_cents * quantity

assert subtotal(1250, 2) == 2500
assert subtotal(1250, 0) == 0
print(subtotal(300, 3))

两条断言通过后,最后输出九百分。return 把值交给调用者;print 只是展示值。如果把函数中的 return 换成 print,屏幕可能仍有数字,但调用者拿到的是 None,后续加总就会失败。

这里用 type 严格检查整数,是因为本题不接受小数和布尔值。真实项目可以选择别的输入规则,但要明确。不要把“代码没抛异常”当作合理输入的证明,也不要让函数悄悄替调用者修正数量。

完成后再做一道迁移题:写一个计算三笔订单总额的程序。先调用 subtotal 得到每笔结果,再求和,不要把乘法规则复制三遍。如果卡在函数参数,就回看函数章节;如果只是加总顺序错误,就针对调用过程调试。

输入改变后,能否独立解释结果:暂停视频后改输入:用预期值定位需要回看的知识点

总结

Python 基础视频的练习顺序可以是:用变量表达一笔数据,用条件筛选一组数据,再用函数封装重复规则。三个程序的验收结果应由你自己算出来,然后和实际输出对比。

学习记录里保留“我修改了什么、预期是什么、实际是什么”即可。哪一步说不清,就回到相应章节,而不是从头再播放全部内容。你能把商品数量换成另一组值、把成绩边界改成另一套规则、再用函数组合新任务时,才算从跟写进入独立练习。

延伸学习

  1. Python 学习 可补变量、分支和函数的基础知识。
  2. Python3 爬虫入门与实践 可以作为后续项目练习;先掌握函数和输入检查,再进入网络数据处理。
  3. Python 基础语法实例 可用于寻找另一组练习输入,检验迁移能力。

常见问题

Q:必须把所有代码背下来吗?

不需要背完整程序,但要理解每个值从哪里来、在哪一步变化。忘记函数名可以查文档;不清楚数据流时,复制代码也很难发现结果错误。

Q:遇到错误要立刻问 AI 吗?

先保留错误信息,定位文件和行号,再描述自己的预期。求助时带上最小程序和输入,要求解释原因;改完后用新的输入验证是否理解。

Q:assert 可以替代正式输入校验吗?

不可以。断言适合本地练习中的自测,优化运行模式可能关闭断言。处理外部输入时,应使用明确的条件判断和异常或错误返回。

0 人点赞