Python上机实验2|随机模拟与算法效率

发布时间:2026/10/8 7:23:11

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()
延伸阅读

更多相关文章

2026/10/8 7:23:11

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

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

2026/10/8 7:23:11

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

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

2026/10/8 8:08:16

游戏引擎基础架构:解耦、RHI与内存设计核心

1. 项目概述:为什么“引擎基础架构”是游戏开发者的必修课如果你正在用Unity或Unreal做项目,却连“RHI是什么”“渲染管线和资源管理器怎么解耦”“为什么C里要写Pimpl惯用法”都讲不清楚,那不是你代码写得少,而是你跳过了最该打牢…

2026/10/8 8:08:16

酒店管理系统Java源码拆解:从JDBC到MyBatis的毕设实战指南

简介:一套面向酒店管理场景的Java毕业设计完整方案,适用于计算机相关专业学生、Java初学者以及需要快速搭建管理系统的开发者。资源围绕酒店日常运营中的客房、预订、餐饮等业务,完整覆盖前端界面、业务逻辑与数据库设计,重点展示…

2026/10/8 8:08:16

Claude的“外置大脑”:用claude-mem实现跨会话持久记忆

Claude 用久了,大家应该都有同一个磨人的体验:开一个新对话窗口,它就“失忆”了。明明上一个 session 里已经把技术方案、命名规范、部署链路聊得清清楚楚,换一个窗口全部归零,又得从“我们之前讨论过的那件事……”开…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/7 8:18:33

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* 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 0:02:17

自然数立方等于连续奇数之和:从证明到编程验证

十几年来我一直游走在数学科普和编程教学这两块内容之间,对“看起来像魔法、拆开全是数学”的结论总是格外敏感。最近翻资料时又撞见一句话:任何一个自然数 m 的立方,都可以写成 m 个连续奇数之和。2 的立方等于 3 加 5,3 的立方等…

2026/10/8 0:02:17

C#上位机SSH连接实战:用SSH.NET补齐超时、批量与密钥认证

简介:这是一份基于 C# 开发的 SSH 连接功能半成品工程,原本作为另一个主项目的子功能模块,现独立打包分享。工程采用 WinForms 界面,包含源码、解决方案、安装部署工程、NuGet 依赖包及说明文档,适合正在做远程连接、网…

2026/10/8 0:02:17

Java SpringBoot一体化智能售后系统设计与实现全解析

毕业设计年年做,Java Web 方向的题目翻来覆去就那么几个,但“一体化智能售后系统”这个题,每次看到我都觉得值得认真聊一聊。它不是一个简单 curd 堆出来的管理系统,而是把客户、工单、派单、处理、回访、统计整条链路串起来的一套…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑