编程启蒙|Scratch 转 Python 系列第 7 天:猜数字大挑战·升级版实战(AI 出题 + 二分查找最优解 + 完整命令行游戏)
阶段 B 游戏实战开篇之作。还记得第 3 天我们用 if/else 做过一个最简单的猜数字吗今天我们要把它做成一个完整、耐玩、还带最优解法的真游戏——这是从写代码到做产品的第一步。一、本节课学习目标复习并串联input()、random、while、if/elif/else四大知识点做一个真正可反复玩的猜数字游戏。引入while Truebreak的主循环设计理解程序菜单的通用架构。掌握二分查找思维——从随便猜进化到7 次必中 1-100的最优策略。用 AI 提示词框架改造出题环节理解AI 当出题者 Python 当引擎 玩家当求解者的AI Agent 交互三角。二、从第 3 天到第 7 天一张对比图看懂成长版本第 3 天基础版第 7 天升级版今天出题固定一个数AI 随机出题每局都不一样猜测次数无限次限制 7 次对应二分查找上限反馈大了 / 小了大了 / 小了 /剩余次数解法随便猜教二分查找最优策略战绩无列表记录 → 最佳 / 平均 / 局数全统计结束猜到就完询问是否再来一局 → 主循环重开代码量10 行60 行编程本身就是这样——一个简单原型慢慢长出功能、长出优化、长出细节最后就成了一个真产品。三、Scratch 积木逻辑升级版核心积木流程定义变量secretAI 秘密数字、guess玩家猜测、attempts剩余次数、total本局用了几次secret 在 1 到 100 之间随机选一个数attempts 7重复执行直到guess secret或attempts 0询问请猜一个 1-100 的数字并等待如果guess secret→ 说猜大了否则如果guess secret→ 说猜小了否则 → 说 猜中了attempts减 1total增加 1如果attempts 0且没猜中 → 说游戏失败答案是 secretscratch 积木代码一、主游戏单局猜数字二、主游戏游戏入口四、Python 完整可运行源码importrandomdefone_round():一局猜数字游戏猜中返回本局次数未猜中返回 Nonesecretrandom.randint(1,100)# AI 秘密出题max_attempts7# 二分查找的理论上限total0# 本局猜了几次print(\n*40)print( AI 已经想好了一个 1-100 的秘密数字)print(f你有{max_attempts}次机会来挑战吧)print(*40)forattemptinrange(max_attempts):remainingmax_attempts-attempt guess_strinput(f\n 第{attempt1}次猜测还剩{remaining}次)# 防止玩家输入错误ifnotguess_str.isdigit():print(⚠️ 请输入 1-100 的数字)continueguessint(guess_str)total1ifguesssecret:print( 猜大了)elifguesssecret:print( 猜小了)else:print(f\n 恭喜你用{total}次猜中了答案就是{secret})returntotal# 猜中返回本局用了几次# 循环走完还没猜中print(f\n 挑战失败正确答案是{secret})returnNonedefmain():游戏主循环history[]# 第 6 天列表现学现用记录每局胜利用的次数total_rounds0# 总局数含输的print(*40)print( 猜数字大挑战 · AI 出题版)print(*40)whileTrue:total_rounds1resultone_round()ifresultisnotNone:history.append(result)# 用列表 append 记录本局# 战绩统计列表全家桶len / max / min / sumifhistory:avgsum(history)/len(history)print(f\n 战绩{total_rounds}局{len(history)}胜 | f最少{min(history)}次 | 最多{max(history)}次 | 平均{avg:.1f}次)else:print(f\n 战绩{total_rounds}局 0 胜别灰心再来)againinput(\n是否再来一局(y/n))ifagain.lower()!y:ifhistory:print(f\n 再见{total_rounds}局{len(history)}胜f最佳成绩{min(history)}次猜中 )else:print(f\n 再见下次继续加油)breakif__name____main__:main()运行方式保存为guess_number_v2.py命令行python guess_number_v2.py按提示输入数字每局结束选择是否继续 顺便复习第 6 天列表主循环里的history []history.append(total)min/max/sum/len(history)——这就是列表最经典的四大用法。第 6 天学的列表今天真正派上了用场记录、统计、找极值、算平均一套下来一个真正有记忆的游戏就有了。五、AI 主题升级让 AI 真正当出题者上面的代码里random.randint(1, 100)只是模拟 AI 出题。真实场景可以对接大模型 API让 AI每局都用一段自然语言介绍这个数字# 伪代码演示真正对接 AI 大模型defai_generate_riddle():prompt请随机想一个 1-100 的整数并给一个不透露答案的谜面提示responsecall_llm(prompt)# 调用大模型returnresponse[secret],response[hint]secret,hintai_generate_riddle()print(f AI 出题提示{hint})# 例如这个数是两位数是 3 的倍数个位比十位大这就是 AI Agent 应用的标准架构AI 负责生成内容、给出提示、动态调整难度Python 负责控制流程、判断输入、维护状态玩家负责交互、决策、反馈孩子今天写的这 50 行代码就是所有 AI 智能应用的骨架。六、思维进阶二分查找 —— 7 次必中 1-100 的秘密为什么max_attempts 7因为2⁷ 128 100用二分查找猜 1-100 的数字最多 7 次一定能猜中次数猜测策略举例假设答案是 73第 1 次猜50中间值猜小了 → 答案在 51-100第 2 次猜75猜大了 → 答案在 51-74第 3 次猜62猜小了 → 答案在 63-74第 4 次猜68猜小了 → 答案在 69-74第 5 次猜71猜小了 → 答案在 72-74第 6 次猜73✅ 猜中核心口诀每次都猜当前可能范围的中间值。scratch积木代码Python 实现二分查找猜数字把玩家换成 AI 求解者defai_solver(secret):AI 用二分查找猜数字low,high1,100attempts0whilelowhigh:guess(lowhigh)//2# 中间值整除attempts1print(fAI 第{attempts}次猜{guess})ifguesssecret:print(f✅ AI 用{attempts}次猜中)returnelifguesssecret:lowguess1# 答案在右半区else:highguess-1# 答案在左半区这个思想是所有算法课的第一课——孩子在小学阶段就能理解折半查找比大学生入门还早。七、Scratch 积木 ↔ Python 代码对照表Scratch 积木Python 代码作用在 1 到 100 之间随机选一个数random.randint(1, 100)出题询问 () 并等待input(...)获取输入回答变量接收input()返回值存输入重复执行直到 ()while True: ... break或for循环主循环如果 A Bif guess secret:猜大判断否则如果 A Belif guess secret:猜小判断将 attempts 增加 1attempts 1计数建立一个空列表history []存战绩将 () 加入列表history.append(total)记录本局列表长度 / 最大 / 最小 / 求和len / max / min / sum(history)战绩统计关键差异Scratch 的回答变量自动接收输入Python 需要用变量赋值guess input(...)Pythoninput()拿到的永远是字符串比大小必须先int()转数字Python 主循环用while True break比 Scratch 的重复直到更灵活八、本节课高频易错点总结1. 忘了转数字类型input()返回字符串50 30会直接报错——必须int(input(...))。2.random.randint(1, 100)是闭区间Python 里randint(1, 100)包含 100但列表切片[1:100]不包含 100——Python 的闭区间/开区间混用是新手大坑。3.while True忘写break无限循环忘写退出条件 → 程序卡死只能 CtrlC 强制关闭。4. 输入非法字符崩溃用户输错比如输入abc时int(abc)会报错——加一句if not guess_str.isdigit(): continue就能兜住。九、往期历史笔记编程启蒙Scratch 转 Python 系列第 1 天变量、数字运算积木双向对照AI 基础数值计算实战编程启蒙Scratch 转 Python 系列第 2 天分支判断 if 积木双向对照AI 指令条件过滤实战编程启蒙Scratch 转 Python 系列第 3 天循环重复积木双向对照AI 批量循环处理已收录 AI Agent 技术社区编程启蒙Scratch 转 Python 系列第 4 天字符串文本积木双向对照AI 提示词拼接、文本清洗实战编程启蒙Scratch 转 Python 系列第 5 天自定义积木 / 函数双向对照AI 工具封装、重复指令简化实战6. 编程启蒙Scratch 转 Python 系列第 6 天列表、数组积木双向对照AI 底层语法 / AI 批量数据处理实战十一、下一章预告Scratch 转 Python 第 8 天节奏敲击机实战——AI 生成节奏谱Python 自动播放音频事件驱动十二、原创声明本文为**「梅雅达编程笔记」**原创启蒙教程禁止私自搬运、二次转载转发请标注来源。想要系统学完整套 Scratch 转 Python 课程欢迎订阅下方专栏持续追更。

相关新闻

基于YOLOv8的工业罐头缺陷检测系统实战

基于YOLOv8的工业罐头缺陷检测系统实战

1. 项目概述:基于YOLOv8的工业级罐头检测系统这套罐头检测系统是我在食品包装质检领域落地的一个工业视觉项目,核心采用YOLOv8目标检测算法实现自动化缺陷识别。相比传统人工抽检,系统将检测速度提升至200帧/秒,准确率达到99.3%&a…

2026/7/14 1:28:28阅读更多 →
虚幻引擎热更新实战:使用HotPatcher实现资源热更与包体优化

虚幻引擎热更新实战:使用HotPatcher实现资源热更与包体优化

1. 项目概述:为什么我们需要HotPatcher?在虚幻引擎(Unreal Engine, 简称UE)项目开发,尤其是移动端和持续运营的客户端项目中,“热更新”是一个绕不开的核心需求。想象一下,你的游戏上…

2026/7/14 1:28:28阅读更多 →
AD7175-8与PIC24FJ256GB110的高精度信号采集方案

AD7175-8与PIC24FJ256GB110的高精度信号采集方案

1. 为什么选择AD7175-8与PIC24FJ256GB110这对黄金组合在工业测量和精密仪器领域,信号采集系统的性能直接决定了最终数据的可靠性。AD7175-8作为ADI公司推出的低噪声、快速建立模数转换器(ADC),其8/16通道的灵活配置和50kSPS的采样速率,使其成…

2026/7/14 1:28:28阅读更多 →
kupl-sample匿名函数编程:lambda表达式在并行计算中的终极指南

kupl-sample匿名函数编程:lambda表达式在并行计算中的终极指南

kupl-sample匿名函数编程:lambda表达式在并行计算中的终极指南 【免费下载链接】kupl-sample kupl-sample provides a set of cases using the kupl library . 项目地址: https://gitcode.com/openeuler/kupl-sample 前往项目官网免费下载:https:…

2026/7/14 15:40:24阅读更多 →
第21届智能车竞赛“英才腾飞,创新筑梦”企业招聘交流计划

第21届智能车竞赛“英才腾飞,创新筑梦”企业招聘交流计划

一、尊敬的参赛师生:全国大学生智能汽车竞赛是国内极具影响力的工程实践类学科赛事,始终以“立足培养、重在参与、鼓励探索、追求卓越”为核心宗旨,覆盖自动化、智能制造、车辆工程、电子信息、计算机、大数据与人工智能、机器人、电气工程、…

2026/7/14 15:40:24阅读更多 →
终极指南:如何安全高效地升级Ultimaker Cura版本

终极指南:如何安全高效地升级Ultimaker Cura版本

终极指南:如何安全高效地升级Ultimaker Cura版本 【免费下载链接】Cura 3D printer / slicing GUI built on top of the Uranium framework 项目地址: https://gitcode.com/gh_mirrors/cu/Cura Ultimaker Cura作为全球最受欢迎的3D打印切片软件,其…

2026/7/14 15:40:24阅读更多 →
Boss-Key:三秒隐藏所有敏感窗口,你的数字隐私保护专家

Boss-Key:三秒隐藏所有敏感窗口,你的数字隐私保护专家

Boss-Key:三秒隐藏所有敏感窗口,你的数字隐私保护专家 【免费下载链接】Boss-Key 老板来了?快用Boss-Key老板键一键隐藏静音当前窗口!上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-Key 当同事突然出…

2026/7/14 15:40:24阅读更多 →
C++组合模式:统一处理树形结构,实现透明递归操作

C++组合模式:统一处理树形结构,实现透明递归操作

1. 项目概述:为什么我们需要组合模式?在C里做项目,尤其是涉及到UI框架、文件系统、组织结构或者任何具有“部分-整体”层次关系的场景时,你肯定遇到过这样的麻烦:一个对象可能是一个简单的个体,也可能是一个…

2026/7/14 15:40:23阅读更多 →
如何轻松获取3大APK历史版本:APKMirror客户端深度体验指南

如何轻松获取3大APK历史版本:APKMirror客户端深度体验指南

如何轻松获取3大APK历史版本:APKMirror客户端深度体验指南 【免费下载链接】APKMirror 项目地址: https://gitcode.com/gh_mirrors/ap/APKMirror 如果你正在寻找一个能够快速访问APK历史版本的Android应用,APKMirror客户端绝对值得你深入了解。这…

2026/7/14 15:35:23阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/14 4:56:14阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/14 2:55:05阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/14 6:17:41阅读更多 →
【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

更多请点击: https://intelliparadigm.com 第一章:Cursor数据库安全红线概览 Cursor 作为一款基于 AI 的智能编程助手,其本地数据库(SQLite 存储)承载着用户代码片段、会话历史、自定义规则及敏感上下文信息。理解其安…

2026/7/14 0:03:18阅读更多 →
【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

更多请点击: https://codechina.net 第一章:Notion AI写作辅助的底层能力边界认知 Notion AI 并非通用大语言模型的直接封装,而是基于 Llama 系列与自研微调模型构建的轻量化推理服务,其输入上下文窗口严格限制在 8192 token&…

2026/7/14 0:03:18阅读更多 →
AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

更多请点击: https://kaifayun.com 第一章:AI Agent数据越界行为的合规性挑战与溯源必要性 AI Agent在自主执行任务过程中,可能因提示注入、上下文污染或权限配置缺陷,无意或有意访问、缓存、传输受保护数据(如PII、G…

2026/7/14 0:03:18阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/14 15:07:30阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/14 4:45:36阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/14 2:42:17阅读更多 →