我将按照代码生成场景准则为你开发擦窗机器人清洁模式模拟程序,确保模块化、易用性与可扩展性。
一、完整程序代码(Python 3.8+)
""" 模拟擦窗机器人清洁模式决策程序 功能:输入脏污程度(%),>80%开启强力模式,否则普通模式 核心逻辑:模块化拆分输入、验证、判断、交互流程 """
def get_user_input(): """获取用户输入的脏污程度字符串""" prompt = "请输入窗户脏污程度(0-100的整数/小数,单位%):" return input(prompt).strip()
def validate_dirt_level(input_str): """ 验证并转换脏污程度输入 返回:有效数值(float)或 None(无效时) """ try: dirt_level = float(input_str) if 0 <= dirt_level <= 100: # 范围校验 return dirt_level else: print("❌ 错误:脏污程度需在0-100之间!") return None except ValueError: print("❌ 错误:输入必须是数字(如75或92.5)!") return None
def determine_cleaning_mode(dirt_level): """根据脏污程度判断清洁模式""" return "强力清洁模式" if dirt_level > 80 else "普通清洁模式"
def main(): """主流程:协调输入→验证→判断→输出""" print("=== 擦窗机器人清洁模式模拟程序 ===") while True: user_input = get_user_input() if user_input.lower() in ["q", "quit"]: # 退出机制 print("感谢使用,再见!") break
valid_dirt = validate_dirt_level(user_input)
if valid_dirt is None:
continue # 无效输入则重新提示
mode = determine_cleaning_mode(valid_dirt)
print(f"\n📊 脏污程度:{valid_dirt}% → 开启【{mode}】\n")
if name == "main": main()
二、README文件
擦窗机器人清洁模式模拟程序README
简介
模拟智能擦窗机器人的环境感知与决策逻辑:通过输入窗户脏污程度(%),自动判断清洁模式(强力/普通),还原《智能机器人导论》中“传感器数据处理→决策输出”的核心流程。
安装依赖
无需第三方库,Python 3.8+ 标准库即可运行。
使用方法
- 保存代码为
window_cleaner.py - 终端运行:
python window_cleaner.py - 输入脏污程度(如
75或92.5),按回车查看结果 - 输入
q或quit退出程序
功能特点
- 输入验证:拦截非数字、超范围(<0或>100)错误
- 模块化设计:拆分5个单一职责函数
- 友好交互:实时错误提示+清晰结果输出
目录结构
window_cleaner.py:主程序文件
三、使用说明
- 环境准备:确认安装Python 3.8+(终端输 "python --version"验证)。
- 启动程序:打开终端→进入代码目录→输 "python window_cleaner.py"。
- 输入规则:按提示输入0-100的数字(支持小数,如 "85.3"),错误会重新提示。
- 结果示例:
- 输入 "92"→输出 "脏污程度:92.0% → 开启【强力清洁模式】"
- 输入 "60"→输出 "脏污程度:60.0% → 开启【普通清洁模式】"
- 退出方式:输入 "q"或 "quit"回车结束。
四、核心知识点卡片
知识点 说明 函数模块化 将输入、验证、判断拆分为独立函数(如 "validate_dirt_level"),提升复用性 输入验证与异常处理 用 "try-except"捕数字转换错, "if"判范围,处理非数字/超边界场景 条件决策逻辑 用三元表达式 "A if 条件 else B"实现脏污程度→模式的映射 主程序入口规范 用 "if name == "main""确保模块导入不执行主逻辑 用户交互设计 循环输入+ "q"退出机制、实时错误反馈,模拟真实机器人交互 数据类型转换 将字符串转为浮点数( "float(input_str)"),支持小数脏污程度输入
代码运行说明
- 复制代码保存为 "window_cleaner.py";
- 终端执行 "python window_cleaner.py";
- 按提示输入即可测试(如输入 "85"看强力模式,输入 "70"看普通模式)。
如需扩展(如添加“超脏预警”模式),只需修改 "determine_cleaning_mode"函数的判断逻辑。 关注我,有更多实用程序等着你!