Python上机实验2|随机模拟与算法效率
实验简介本次上机实验围绕 random 随机库交互式猜数字游戏增加输入校验、记录猜测过程、连玩3局求平均次数实现思路交互式猜数字游戏使用 random.randint(1,100) 生成1~100随机答案。用 try-except 捕获非整数输入做合法性校验输入必须是整数范围1~100不满足则提示重新输入程序不会崩溃。列表 history 记录每一轮猜测的数字累加变量记录猜测次数。一局猜完后打印猜测全过程循环执行3局最后计算三局的平均猜测次数。程序运行结果示例plaintext任务1猜数字游戏连玩3局—第1局—请输入1~100的整数猜测50小了请输入1~100的整数猜测75大了请输入1~100的整数猜测62小了请输入1~100的整数猜测68恭喜猜对一共猜了4次猜测过程[50, 75, 62, 68]—第2局—请输入1~100的整数猜测30小了请输入1~100的整数猜测60大了请输入1~100的整数猜测45恭喜猜对一共猜了3次猜测过程[30, 60, 45]—第3局—请输入1~100的整数猜测20小了请输入1~100的整数猜测80大了请输入1~100的整数猜测50小了请输入1~100的整数猜测65大了请输入1~100的整数猜测57恭喜猜对一共猜了5次猜测过程[20, 80, 50, 65, 57]3局游戏平均猜测次数4.00学习心得本次实验让我直观感受到随机模拟和算法效率的巨大差距。猜数字两种策略对比直观理解线性算法和二分算法的效率差距。线性猜测是O(n)范围扩大猜测次数线性上涨二分是对数O(log₂n)范围扩大猜测次数增长极其缓慢。踩坑记录任务1输入校验踩坑一开始没有写 try-except 如果输入字母程序直接崩溃报错。✅解决捕获ValueError区分「不是整数」和「超出数字范围」两类提示。代码import randomdef play_one_game():“”“玩一局猜数字游戏返回本局猜的次数”“”target random.randint(1, 100)guesses []count 0print(\n 新的一局开始我已经想好了一个 1~100 的数字 ) while True: user_input input(请输入你猜的数字).strip() try: guess int(user_input) except ValueError: print(⚠️ 输入的不是整数请重新输入) continue if guess 1 or guess 100: print(⚠️ 数字必须在 1~100 之间请重新输入) continue count 1 guesses.append(guess) if guess target: print(大了) elif guess target: print(小了) else: print(f 恭喜你猜中了答案就是 {target}) print(f本局你一共猜了 {count} 次。) print(你的猜测过程 → .join(str(g) for g in guesses)) return countdef main():total_times 0rounds 3for i in range(1, rounds 1): print(f\n########## 第 {i} 局 ##########) times play_one_game() total_times times average total_times / rounds print(f\n 3 局结束 ) print(f总猜测次数{total_times}) print(f平均每局用了 {average:.2f} 次)ifname “main”:main()

相关新闻

ponytail插件完全指南:轻量技能插件的使用与进阶

ponytail插件完全指南:轻量技能插件的使用与进阶

1. 从“ponytail”这个词说起:它到底指什么第一次看到“ponytail”作为项目标题,很多人会愣一下——这不是“马尾辫”吗?一个发型词汇怎么会出现在技术社区的热搜里?我最初也以为是某个美妆博主在分享扎头发的技巧,直到…

2026/10/8 7:23:11 阅读更多 →
ponytail 插件怎么用:轻量级可插拔小工具的使用方法论与避坑指南

ponytail 插件怎么用:轻量级可插拔小工具的使用方法论与避坑指南

1. 从“ponytail”这个热词说起:它到底指什么第一次看到“ponytail”被当成一个技术词条来搜,我其实愣了一下。字面意思就是马尾辫,一个再日常不过的发型词,怎么会跟“skill”“插件”“如何使用”这些词绑在一起冲上热搜&#xf…

2026/10/9 11:13:14 阅读更多 →
openrig:统一编排Claude Code与Codex的AI编程工具管理方案

openrig:统一编排Claude Code与Codex的AI编程工具管理方案

1. 从零认识 openrig:它到底解决什么问题第一次看到 openrig 这个名字,很多人会以为是某个硬件支架项目,毕竟 rig 在英文里有“装配、支架”的意思。但如果你最近在折腾 Claude Code、Codex 这类命令行 AI 编程助手,就会明白它其实…

2026/10/8 7:23:11 阅读更多 →

最新新闻

2026实测降AI率工具红黑榜:TaoToken统一Key接入10款检测API的达标率硬核对标

2026实测降AI率工具红黑榜:TaoToken统一Key接入10款检测API的达标率硬核对标

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 11:13:03 阅读更多 →
从一句话到三维模型:text-to-cad 技术拆解与实战复盘

从一句话到三维模型:text-to-cad 技术拆解与实战复盘

从一句话到三维模型:text-to-cad 技术拆解与实战复盘这两年,AI 生成内容的战火已经从文生图、文生视频烧到了工程建模领域。text-to-cad 这个方向,简单说就是输入一句话,比如“一个带有四个圆孔的矩形法兰盘”,系统直接…

2026/10/9 11:13:03 阅读更多 →
COMSOL仿真石墨烯-金属开口环超材料圆二色性

COMSOL仿真石墨烯-金属开口环超材料圆二色性

1. 先别急着建模:这个结构凭什么值得信手性超材料在纳米光学里确实是个狠角色。普通的天然材料对左旋、右旋圆偏振光的响应几乎没差别,而手性超材料不一样——它能把其中一种圆偏振光吃掉或者扭得厉害,另一种则基本放行,这种不对称…

2026/10/9 11:13:03 阅读更多 →
text-to-cad实战指南:从自然语言到参数化模型的技术解析与工程落地

text-to-cad实战指南:从自然语言到参数化模型的技术解析与工程落地

作为一个在机械设计行当里泡了十几年的老工程师,我第一次听到 “text-to-cad” 这个词时,其实是不太当回事的。原因很简单:CAD 建模哪是输一句话就能搞定的,里面藏着公差、基准、加工工艺这些 “只可意会” 的讲究。但等我真正上手…

2026/10/9 11:13:03 阅读更多 →
第17场面试复盘:终于弄懂面试官的提问逻辑链

第17场面试复盘:终于弄懂面试官的提问逻辑链

面了16场之后,这场让我终于弄明白了面试官到底在问什么先交代一下背景。我是做后端开发三年多的Java工程师,今年年初动了换工作的念头,从二月中旬开始投简历,到这场面试之前已经陆陆续续面了16场,有大厂有中小厂&#…

2026/10/9 11:13:03 阅读更多 →
房产中介管理系统毕设:SpringBoot全流程开发复盘

房产中介管理系统毕设:SpringBoot全流程开发复盘

做毕设选题的时候,很多同学都会卡在同一个问题上:满屏都是图书管理系统、学生选课系统,写出来没新意,答辩老师一眼就能看出是老套路;但选太复杂的题目,比如分布式电商、高并发秒杀,以毕设周期和…

2026/10/9 11:12:02 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →