Python语法错误案例怎么写?

wen python案例 5

本文目录导读:

  1. 缩进错误(最常见)
  2. 冒号遗漏
  3. 括号不匹配
  4. 字符串引号问题
  5. 变量命名错误
  6. 运算符错误
  7. 列表/字典语法错误
  8. 函数定义错误
  9. 注释问题
  10. 模块导入错误
  11. 练习题

我来为你写几个典型的Python语法错误案例,每个都附带出错原因和修正方法。

缩进错误(最常见)

# ❌ 错误案例1:缩进不一致
def hello():
    print("Hello")  # 缩进4个空格
      print("World")  # 缩进6个空格 - 不一致
# ❌ 错误案例2:缺少缩进
if True:
print("这段代码会报错")  # 缺少缩进
# ✅ 正确写法
def hello():
    print("Hello")
    print("World")
if True:
    print("这段代码正常执行")

冒号遗漏

# ❌ 错误案例
if True  # 缺少冒号
    print("条件为真")
for i in range(5)  # 缺少冒号
    print(i)
# ✅ 正确写法
if True:
    print("条件为真")
for i in range(5):
    print(i)

括号不匹配

# ❌ 错误案例
print("Hello"  # 缺少闭合括号
result = (1 + 2 * (3 + 4)  # 括号数量不匹配
# ✅ 正确写法
print("Hello")
result = (1 + 2) * (3 + 4)

字符串引号问题

# ❌ 错误案例1:引号类型混杂
print("这是一个"特殊"字符串")  # 引号嵌套错误
# ❌ 错误案例2:多行字符串未换行
text = "这是第一行
这是第二行"  # 普通字符串不能换行
# ✅ 正确写法
print("这是一个\"特殊\"字符串")  # 使用转义字符
print('这是一个"特殊"字符串')    # 使用单引号包裹
text = """这是第一行
这是第二行"""  # 使用三引号

变量命名错误

# ❌ 错误案例
123number = 10  # 不能以数字开头
my-variable = 20  # 不能使用连字符
if = 30  # 不能使用关键字
class = "Python"  # class是保留关键字
# ✅ 正确写法
number123 = 10
my_variable = 20
condition = 30
course = "Python"

运算符错误

# ❌ 错误案例
result = 10 = 5  # 赋值运算符写错
if x = 5:  # 条件判断中用单等号
    print("x等于5")
# ✅ 正确写法
result = 10 == 5  # 比较使用双等号
if x == 5:  # 使用双等号比较
    print("x等于5")

列表/字典语法错误

# ❌ 错误案例
numbers = [1, 2, 3, ]  # 多了一个逗号(虽然有时合法但不推荐)
my_dict = {"name": "Tom" "age": 20}  # 字典元素间缺少逗号
# ✅ 正确写法
numbers = [1, 2, 3]
my_dict = {"name": "Tom", "age": 20}

函数定义错误

# ❌ 错误案例
def add(a, b)  # 缺少冒号
    return a + b
def sum_numbers(*args, **kwargs, x):  # *args必须放在最后
    pass
# ✅ 正确写法
def add(a, b):
    return a + b
def sum_numbers(x, *args, **kwargs):
    pass

注释问题

# ❌ 错误案例
print("Hello") 这是注释吗? # 注释前需要#号
# ✅ 正确写法
print("Hello")  # 这是正确的注释

模块导入错误

# ❌ 错误案例
import math  # 正确
print(math.pi)
import math  # 语法上正确,但重复导入
import math  # 重复导入不会报错,但代码不简洁
# ✅ 正确写法
import math
print(math.pi)
# 只需要导入一次

练习题

试着找出下面代码中的语法错误:

# 练习1
def calculate_area(radius
    return 3.14 * radius ** 2
# 练习2
numbers = [1,2,3,4,5
total = 0
for num in numbers
    total += num
# 练习3
if score >= 60
    print("及格")
elif score >= 80
    print("良好")
else
    print("不及格")

答案:

  • 练习1:radius 后面缺少 和
  • 练习2:numbers 列表缺少 ,for 语句缺少
  • 练习3:每个条件语句后面都缺少

编写这些错误案例时,注意观察Python的报错信息,它会提示错误类型和行号,这对调试非常有帮助。

标签: 错误示例

抱歉,评论功能暂时关闭!