ROS2机器人少年创客营:Python第二课

ROS2机器人少年创客营:Python第二课

课程名称

聪明的机器人------流程控制与逻辑

课程目标
  • 掌握布尔逻辑:理解"真"与"假"是计算机判断的基础。
  • 学会条件判断 :使用ifelifelse让机器人根据环境做出不同反应。
  • 理解循环结构 :使用whilefor让机器人不知疲倦地重复工作。
  • 培养逻辑思维:能够画出简单的流程图,并将其转化为代码。
核心内容

机器人的智慧:布尔值

  • 概念:计算机的世界只有两个状态------开和关,真和假。
  • 数据类型bool(布尔型)。
    • True(真/是/1):比如"电量充足"。
    • False(假/否/0):比如"碰到墙壁"。
  • 比较运算符
    • ==(等于)、!=(不等于)、>(大于)、<(小于)。
    • 注意=是赋值(把东西放进盒子),==是判断(比较两个盒子里的东西是否一样)。

条件判断:如果...就...

  • 语法结构

    python 复制代码
    if 条件:
        做这件事
    else:
        做那件事
  • 缩进(Indentation)

    • 比喻:这是Python的"家族族谱"。缩进(通常是4个空格或1个Tab)表示"属于"。
    • 规则if下面的代码必须缩进,表示"只有在满足条件时,才执行这些代码"。
  • 多路分支(elif)

    • 就像红绿灯:如果是红灯->停;如果是绿灯->行;如果是黄灯->等待。

循环:不知疲倦的仆人

  • while循环(当...的时候)
    • 比喻:只要(While)电池没电,就一直(循环)工作。
    • 死循环 :如果条件永远为真(比如while True),程序就会一直跑下去。这在机器人主程序中很常见(主循环)。
  • for循环(数数循环)
    • 比喻:我要走5步。数1, 2, 3, 4, 5,每数一个数走一步。
    • 场景:遍历列表(比如:依次经过A点、B点、C点)。
实践环节

任务:编写"智能避障与巡逻"程序

  • 场景描述

    • 你的机器人在一条走廊里巡逻。
    • 它有一个传感器(变量distance)。
    • 如果前方无障碍(距离>10),它就继续前进。
    • 如果前方有障碍(距离<=10),它就停下来并发出警报。
    • 这个过程需要一直重复(循环)。
  • 代码实现

    python 复制代码
    # 模拟传感器数据
    distance = 50
    
    print("机器人巡逻系统启动...")
    
    # 模拟一直运行的主循环
    # 在实际操作中,我们通常用 while True 让机器人一直工作
    running = True
    
    while running:
        print(f"当前距离障碍物: {distance} cm")
    
        if distance > 10:
            print(">> 前方畅通,继续前进...")
            # 模拟距离变近
            distance = distance - 10
        elif distance <= 10 and distance > 0:
            print(">> 警告!距离过近,减速...")
            distance = distance - 2
        else:
            print(">> 危险!已接触障碍物,停止并报警!")
            running = False # 停止循环
    
    print("巡逻结束。")
  • 进阶挑战

    • 修改代码,让机器人在遇到障碍物时,不是停止,而是"后退5cm,然后左转90度"(用打印文字模拟动作)。
课后总结

今天我们赋予了机器人"思考"的能力。if让它学会了选择,while让它学会了坚持(重复)。没有逻辑的代码只是一堆字符,加上逻辑,它们就变成了智能。

课后思考

如果我写了一个while True:(死循环),但是忘记在循环里写让它停止的条件,或者忘记给它休息的时间,计算机会发生什么?(引导思考:死循环会导致程序卡死,CPU占用率飙升,就像机器人发疯了一样不停转圈)。

相关推荐
慕涯AI2 分钟前
Agent 30 课程开发指南 - 第28课
人工智能·python
迷途酱9 分钟前
RAG 从零到一:用 Python 给大模型接上你的私有知识库
python
我叫黑大帅11 分钟前
受保护的海报图片读取方案 - 在不公开静态资源目录下如何获取静态资源
后端·python·面试
思绪无限12 分钟前
YOLOv5至YOLOv12升级:农作物害虫检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·yolov12·农作物害虫检测
SteveSenna15 分钟前
Pika Gripper搭配 Pika Sense进行遥操
机器人
码界筑梦坊23 分钟前
94-基于Python的商品物流数据可视化分析系统
开发语言·python·mysql·信息可视化·数据分析·毕业设计·fastapi
元Y亨H25 分钟前
Python 获取 Windows 设备信息笔记
windows·python
微刻时光28 分钟前
影刀RPA:For循环与ForEach循环深度解析与实战指南
人工智能·python·低代码·自动化·rpa·影刀实战
KIHU快狐36 分钟前
快狐KIHU|110寸壁挂触控一体机G+G电容屏安卓系统汽车展厅查询展示
android·python·汽车
斯维赤40 分钟前
每天学习一个小算法:快速排序
java·python·学习·算法·排序算法