🔍 代码侦探手册 —— 常见错误中文解释
看到红色报错不要怕!每个报错都是一条"线索", 你就是代码侦探,顺着线索找到"犯人"(错误),改正它就赢了!🕵️
🔴 SyntaxError(语法错误)
电脑说
SyntaxError: invalid syntax
大白话
电脑说"你写的我看不懂,哪里写错字了?"
常见原因
| 🔍 线索 | ✏️ 错误写法 | ✅ 正确写法 | 💡 记忆口诀 |
|---|---|---|---|
| 忘了冒号 | if hp > 0 |
if hp > 0: |
if/for/while/def 后面必须加冒号 |
| 引号没配对 | print("你好) |
print("你好") |
引号要成双成对 |
| 少了括号 | print("你好" |
print("你好") |
括号也要成双成对 |
| 中文符号 | print("你好") |
print("你好") |
代码里只用英文符号! |
| 等号搞混 | if x = 5: |
if x == 5: |
一个 = 是赋值,两个 == 是比较 |
侦探技巧
报错信息会告诉你第几行出了问题,直接去那一行找找看!
🔴 IndentationError(缩进错误)
电脑说
IndentationError: expected an indented block
大白话
电脑说"这一行应该往右缩进,你忘了加空格!"
常见原因
| 🔍 线索 | ✏️ 错误写法 | ✅ 正确写法 | 💡 记忆口诀 |
|---|---|---|---|
| if 后面没缩进 | if True:print("hi") |
if True:print("hi") |
冒号下面的代码要缩进 4 格 |
| 缩进不一致 | 有的 2 格有的 4 格 | 统一用 4 个空格 | 要么全用空格,要么全用 Tab |
| 多余的缩进 | x = 5(不该缩进的地方缩进了) |
x = 5 |
没有 if/for/def,就不要缩进 |
侦探技巧
在 VS Code 里,打开"显示空格"功能(设置里搜 "render whitespace"),就能看到空格了!
🔴 NameError(名字错误)
电脑说
NameError: name 'helo' is not defined
大白话
电脑说"你说的'helo'是谁?我不认识!"
常见原因
| 🔍 线索 | ✏️ 错误写法 | ✅ 正确写法 | 💡 记忆口诀 |
|---|---|---|---|
| 拼写错误 | pritn("你好") |
print("你好") |
仔细检查每个字母 |
| 变量没定义 | print(name) |
name = "小龙"print(name) |
先创建变量,再使用变量 |
| 大小写搞错 | Print("你好") |
print("你好") |
Python 区分大小写!Print ≠ print |
| 忘了引号 | print(你好) |
print("你好") |
中文文字要用引号包起来 |
侦探技巧
看报错信息里的名字,和你代码里的名字逐个字母对比!
🔴 TypeError(类型错误)
电脑说
TypeError: can only concatenate str (not "int") to str
大白话
电脑说"你想把文字和数字混在一起,我不知道怎么弄!"
常见原因
| 🔍 线索 | ✏️ 错误写法 | ✅ 正确写法 | 💡 记忆口诀 |
|---|---|---|---|
| 字符串+数字 | "生命值:" + 100 |
"生命值:" + str(100) 或 f"生命值:{100}" |
用 f"" 格式化最简单! |
| input 是字符串 | hp = input("生命值:")hp + 10 |
hp = int(input("生命值:"))hp + 10 |
input() 拿到的永远是文字,要用 int() 转数字 |
侦探技巧
如果报错提到 str 和 int,就是文字和数字混搭了,用 f"..." 来解决!
🔴 FileNotFoundError(文件找不到)
电脑说
FileNotFoundError: [Errno 2] No such file or directory: 'save.json'
大白话
电脑说"你让我打开的文件,我找不到!"
常见原因
| 🔍 线索 | 解决方法 |
|---|---|
| 文件名写错了 | 检查文件名的拼写和大小写 |
| 文件不在当前目录 | 确保文件和你的 .py 文件在同一个文件夹里 |
| 第一次运行,还没有存档 | 用 try-except 处理"文件不存在"的情况——第 8 课会学到! |
🎯 通用侦探守则
- 不要慌! 报错是正常的,专业程序员每天都在和报错打交道
- 先看最后一行——那里通常写着错误类型和原因
- 再看行号——报错信息会告诉你第几行出了问题
- 对照参考答案——打开
reference.py,找到对应的代码段,逐行对比 - 实在找不到? 把报错信息复制给 AI,让它帮你分析!
🏆 记住:找到并修复一个 bug,就是一次胜利!每个程序员都是从修 bug 开始成长的。