小学生Python编程入门-12.错误调试与异常处理

第四阶段:进阶技能

第12章:错误调试与异常处理

目标:像侦探一样找出代码中的“小怪兽”(错误),用魔法盾牌(异常处理)保护程序!本章将教你用try-except魔法阵修复漏洞,并用IDLE的调试工具成为代码小医生!


12.1 常见错误类型解析

魔法目标:认识代码中的“小怪兽”,学会用放大镜(调试工具)观察它们!

魔法怪物图鉴

错误类型

怪物形象

常见场景

SyntaxError

拼写错误的巫师

忘记冒号:或括号不匹配

NameError

迷路的精灵

变量或函数名拼写错误

TypeError

变形的魔法材料

数字和文字强行混合

IndexError

穿越时空的幽灵

列表索引超出范围

趣味实验

  • 故意写错代码(如turtle.forward(100)漏掉括号),观察报错信息。

12.2 try-except魔法阵

魔法目标:用盾牌挡住错误攻击,让程序即使犯错也能优雅退场!

魔法咒语

# 基础防护罩(捕获所有错误)  
try:  
    # 可能出错的代码  
    num = int(input("请输入数字:"))  
    print(10 / num)  
except:  
    print("哎呀!输入有误,请重试!")  

# 精准防护罩(指定错误类型)  
try:  
    num = int(input("请输入数字:"))  
except ValueError:  
    print("错误!请输入真正的数字!")  

魔法原理

  • try块:放入可能出错的代码。
  • except块:针对特定错误类型(如ValueError)或所有错误(不指定类型)编写补救措施。

趣味挑战

  • 设计“密码验证器”:允许用户输入密码3次,失败后用try-except提示错误。

12.3 调试工具与技巧

魔法目标:用IDLE的调试工具像放大镜一样观察代码运行细节!

IDLE调试四步法

  1. 启动调试器
  2. 打开Python文件(如guess_number.py)。
  3. 点击菜单栏的 DebugDebugger,打开调试窗口。
  4. 设置断点
  5. 在代码行号左侧点击,设置“暂停按钮”(如guess = int(input())行)。
  6. 作用:程序运行到此处会暂停,方便观察变量值。
  7. 单步执行代码
  8. Step Over(F10):逐行执行,跳过函数内部。
  9. Step Into(F11):进入函数内部查看细节(如int(input())如何转换输入)。
  10. 查看变量值
  11. 在调试窗口的 Variables 面板中,实时查看num、secret等变量的变化。

实战案例:修复猜数字游戏

import random  

def guess_number():  
    secret = random.randint(1, 100)  
    attempts = 0  
    
    while True:  
        try:  
            guess = int(input("猜一个1-100的数字:"))  # 断点在这里  
            attempts += 1  
            
            if guess < secret:  
                print("太小啦!")  
            elif guess > secret:  
                print("太大啦!")  
            else:  
                print(f"恭喜!你用了{attempts}次猜中!")  
                break  
                
        except ValueError:  
            print("输入无效!请输入数字!")  

guess_number()

调试步骤

  1. 在guess = int(input())行设置断点。
  2. 输入非数字(如abc),程序暂停在断点处。
  3. Variables面板中发现guess未定义,说明错误原因。
  4. 修改代码添加try-except,再次调试验证修复效果。

为什么这样设计?

  1. 贴合教材结构:延续前三阶段内容,逐步深入错误处理与调试。
  2. IDLE工具可视化:通过图形界面操作,降低理解难度。
  3. 案例驱动学习:用猜数字游戏串联知识点,边玩边学。

附:IDLE调试速查表

操作

快捷键

作用

设置/取消断点

F9

在当前行暂停程序

单步执行(跳过函数)

F10

逐行执行,不进入函数内部

单步执行(进入函数)

F11

进入函数内部查看细节

继续运行到下一断点

F5

跳过当前断点继续执行

通过本章,你已经学会了用IDLE的调试魔法!记住:调试不是找错,而是和代码做朋友的过程

原文链接:,转发请注明来源!