第10周:优化与调试

教案

教学目标

教学时间

总时长:2小时

教学内容

  1. 理论部分(40分钟)
    • 调试基础(15分钟)
    • 优化技巧(15分钟)
    • 项目优化示例(10分钟)
  2. 实践部分(70分钟)
    • 任务1:调试简单程序(20分钟)
    • 任务2:优化移动控制(20分钟)
    • 任务3:优化项目代码(30分钟)
  3. 总结与答疑(10分钟)

教学方法

PPT展示+错误代码演示+分组操作

评估方式

所需材料

教材内容

第10章:优化与调试

10.1 调试基础

常见错误

调试方法

distance = robot.get_distance()
print("距离:", distance)

10.2 优化技巧

减少重复:用函数封装。

def move_and_stop(robot, time):
    robot.move_forward(time)
    robot.stop()

提高效率:减少不必要循环。

10.3 实践任务

任务1:调试简单程序

错误代码:

import lerobot
robot = lerobot.connect("robot")
distance = robot.get_distance()
if distance < "10":  # 类型错误
    print("太近了")

修复后:

if distance < 10:
    print("太近了")

任务2:优化移动控制

原代码(第4周):

robot.move_forward(1)
robot.stop()
robot.turn_left(90)
robot.stop()

优化后:

def move_turn(robot, time, angle):
    robot.move_forward(time)
    robot.turn_left(angle)
move_turn(robot, 1, 90)

任务3:优化项目代码

原迷宫导航(第6周):

while True:
    front_distance = robot.get_distance("front")
    right_distance = robot.get_distance("right")
    if right_distance > 20:
        robot.turn_right(90)
    elif front_distance < 10:
        robot.turn_left(90)
    else:
        robot.move_forward(0.5)
    time.sleep(0.5)

优化后:

def navigate(robot):
    front = robot.get_distance("front")
    right = robot.get_distance("right")
    if right > 20:
        return "right", 90
    elif front < 10:
        return "left", 90
    else:
        return "forward", 0.5
while True:
    action, param = navigate(robot)
    if action == "forward":
        robot.move_forward(param)
    else:
        robot.turn(action, param)
    time.sleep(0.5)

10.4 小结

调试确保程序正确,优化提升效率。

课后练习

  1. 找出并修复一个有逻辑错误的代码。
  2. 优化第7周颜色跟随代码,减少重复检测。

课件PPT内容

幻灯片1:封面

幻灯片2:学习目标

幻灯片3-7:理论讲解

幻灯片8-10:实践任务

幻灯片11:总结

返回主页