news 2026/4/23 17:51:30

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/4/23 12:31:08

无需等待:即时获取万物识别API服务的秘密

无需等待&#xff1a;即时获取万物识别API服务的秘密 万物识别API能解决什么问题&#xff1f; 在黑客马拉松这样的限时开发场景中&#xff0c;构建一个智能相册应用最耗时的环节往往是物体识别模型的训练和部署。传统方案需要经历数据收集、标注、训练、调参、部署等一系列复…

作者头像 李华
网站建设 2026/4/23 4:47:13

美食分享系统|基于springboot 美食分享管理系统(源码+数据库+文档)

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

作者头像 李华
网站建设 2026/4/23 9:20:40

学生求职就业|基于springboot学生求职就业系统(源码+数据库+文档)

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

作者头像 李华
网站建设 2026/4/23 9:20:00

多路红外传感模块应用:Arduino循迹小车项目应用

从零打造一辆会“看路”的小车&#xff1a;多路红外与Arduino的实战解析你有没有想过&#xff0c;一个几十块钱的开源板子加上几块红外传感器&#xff0c;真能让一台小车自己沿着黑线跑起来&#xff1f;这听起来像是机器人竞赛里的高阶操作&#xff0c;但其实&#xff0c;它正是…

作者头像 李华
网站建设 2026/4/23 9:20:18

ms-swift框架下地震预警信号识别训练

ms-swift框架下地震预警信号识别训练 在现代地震监测系统中&#xff0c;一个关键挑战是&#xff1a;如何从复杂的背景噪声中快速、准确地识别出真正具有破坏性的主震信号&#xff1f;传统方法依赖手工设计的滤波器和阈值判断&#xff0c;面对多源异构数据时往往力不从心。随着大…

作者头像 李华
网站建设 2026/4/23 9:19:14

代码审计的AI赋能:安全漏洞检测

代码审计的AI赋能:安全漏洞检测 关键词:代码审计、AI赋能、安全漏洞检测、机器学习、深度学习 摘要:本文聚焦于代码审计的AI赋能在安全漏洞检测中的应用。首先介绍了代码审计及安全漏洞检测的背景知识,包括目的、预期读者等。接着阐述了相关核心概念,如机器学习、深度学习…

作者头像 李华