news 2026/3/11 19:15:22

Python——while循环猜数字案例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python——while循环猜数字案例

你想要一个基于 Python while 循环的猜数字案例,我会为你提供一个完整、易理解且交互性好的示例,同时讲解核心逻辑,帮助你掌握 while 循环的使用。

一、案例说明

这个案例会实现一个经典的猜数字游戏:程序随机生成一个 1-100 之间的整数,然后通过 while 循环让用户不断输入数字进行猜测,程序会提示用户猜大了、猜小了,直到猜对为止,并统计用户猜测的次数。

二、完整代码示例

python

import random # 1. 生成1-100之间的随机数作为答案 secret_number = random.randint(1, 100) # 2. 初始化猜测次数 guess_count = 0 # 3. 欢迎语 print("🎉 欢迎来到猜数字游戏! 🎉") print("我已经生成了一个1-100之间的随机数,快来猜猜看!") # 4. while循环实现持续猜测(循环条件:永远为True,直到猜对才break) while True: try: # 获取用户输入并转换为整数 user_guess = int(input("\n请输入你猜测的数字(1-100):")) guess_count += 1 # 每猜一次,次数+1 # 5. 判断猜测结果 if user_guess < 1 or user_guess > 100: print("❌ 请输入1-100之间的数字!") elif user_guess < secret_number: print(f"⬆️ 猜小啦!再往大了猜猜看(你已经猜了{guess_count}次)") elif user_guess > secret_number: print(f"⬇️ 猜大啦!再往小了猜猜看(你已经猜了{guess_count}次)") else: # 猜对了,退出循环 print(f"\n🥳 恭喜你猜对了!答案就是{secret_number}!") print(f"你一共猜了{guess_count}次,真棒!") break # 终止while循环 except ValueError: # 处理用户输入非数字的情况 print("❌ 输入无效!请输入一个整数数字。") # 6. 游戏结束 print("\n游戏结束,感谢参与!")

三、代码关键解释

  1. 随机数生成random.randint(1, 100)用于生成 1 到 100 之间的随机整数,作为需要猜测的秘密数字。
  2. while 循环核心while True表示循环会一直执行,直到遇到break语句(用户猜对时)才会终止,这是猜数字游戏的核心逻辑。
  3. 异常处理try-except块用于捕获用户输入非数字的情况(比如输入字母、符号),避免程序崩溃,提升用户体验。
  4. 条件判断
    • 先校验输入是否在 1-100 范围内,不符合则提示;
    • 若输入小于秘密数字,提示 “猜小了”;
    • 若输入大于秘密数字,提示 “猜大了”;
    • 若相等,则提示猜对,并通过break退出循环。
  5. 次数统计guess_count变量记录用户猜测的次数,每次输入有效数字后自增 1。

四、运行示例

plaintext

🎉 欢迎来到猜数字游戏! 🎉 我已经生成了一个1-100之间的随机数,快来猜猜看! 请输入你猜测的数字(1-100):50 ⬆️ 猜小啦!再往大了猜猜看(你已经猜了1次) 请输入你猜测的数字(1-100):75 ⬇️ 猜大啦!再往小了猜猜看(你已经猜了2次) 请输入你猜测的数字(1-100):63 🥳 恭喜你猜对了!答案就是63! 你一共猜了3次,真棒! 游戏结束,感谢参与!

总结

  1. while True是实现 “持续执行直到满足条件” 场景的常用方式,break语句用于终止循环。
  2. 猜数字案例中,通过条件判断(if/elif/else)引导用户猜测方向,异常处理(try-except)保证程序健壮性。
  3. 核心逻辑:随机生成答案 → 循环获取用户输入 → 判断输入是否正确 → 正确则退出循环,错误则提示并继续。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/9 10:14:39

AI识别效率翻倍:云端开发环境搭建秘籍

AI识别效率翻倍&#xff1a;云端开发环境搭建秘籍 作为一名自由职业者&#xff0c;我经常同时接多个AI项目&#xff0c;每个客户的需求都不尽相同。频繁切换开发环境消耗了大量宝贵时间&#xff0c;直到我发现了一套高效的云端开发环境搭建方法。本文将分享如何利用预置镜像快速…

作者头像 李华
网站建设 2026/3/10 15:12:22

边缘计算预备:在云端快速验证物体识别模型后再移植到终端

边缘计算预备&#xff1a;在云端快速验证物体识别模型后再移植到终端 作为一名嵌入式工程师&#xff0c;我最近在开发一个智能物体识别系统&#xff0c;计划最终部署到边缘设备上。但在开发过程中&#xff0c;频繁在本地和云端切换环境验证模型效果&#xff0c;严重影响了工作效…

作者头像 李华
网站建设 2026/3/3 19:27:33

Proteus 8 Professional下载常见问题深度剖析及解决方案

为什么你总是下不好 Proteus&#xff1f;一文讲透下载、安装与部署的真正门道 作为一名长期从事嵌入式教学和电子设计自动化&#xff08;EDA&#xff09;工具推广的技术博主&#xff0c;我几乎每天都会在论坛、QQ群或私信里看到类似的问题&#xff1a; “Proteus 8 Professio…

作者头像 李华
网站建设 2026/2/20 12:41:54

实验室教学管理|基于springboot 实验室教学管理系统(源码+数据库+文档)

实验室教学管理 目录 基于springboot vue美食分享系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue实验室教学管理系统 一、前言 博主介绍&…

作者头像 李华
网站建设 2026/3/10 9:40:40

幼儿园管理系统|基于springboot 幼儿园管理系统(源码+数据库+文档)

幼儿园管理 目录 基于springboot vue幼儿园管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue幼儿园管理系统 一、前言 博主介绍&#xff1a…

作者头像 李华
网站建设 2026/3/10 22:04:44

配置文件与项目初始化参数绑定操作指南

配置即代码&#xff1a;如何让嵌入式系统“听懂”你的配置文件&#xff1f;你有没有遇到过这样的场景&#xff1f;客户临时要求把音频功放的默认增益从0dB调到6dB&#xff0c;而设备已经出厂。你翻出固件代码&#xff0c;改了个常量&#xff0c;重新编译、烧录、测试……一整天…

作者头像 李华