跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python算法

Python 实现猜数字游戏

演示如何使用 Python 编写猜数字游戏。程序随机生成 1 至 100 的整数,通过循环接收用户输入并反馈大小提示,同时记录猜测历史与次数。代码包含异常处理以应对非数字输入,适合初学者练习条件判断与循环结构。

邪神洛基发布于 2026/3/26更新于 2026/9/1068 浏览
Python 实现猜数字游戏

使用 Python 实现一个猜数字游戏,先随机生成一个 1 到 100 之间的随机整数,让用户猜测这个数是什么,每次都提示用户猜大了还是猜小了,如果用户猜对了,提示用户猜对了,用了多少次,并且之前每一次的猜测数字都是什么。

前置知识

从控制台中读取用户输入

guess = int(input("请输入你的猜测:"))

生成一个 1 到 100 之间的随机整数:

import random
secret_number = random.randint(1, 100)

参考实现

import random

# 生成 1 到 100 之间的随机整数
# random.randint(a, b) 会生成一个 a 和 b 之间(包括 a 和 b)的整数
secret_number = random.randint(1, 100)
print("我已经想好了一个 1 到 100 之间的数字,你来猜猜看!")

# guess_count 用于记录猜测的次数
guess_count = 0

# guess_history 列表用于存储每次猜过的数字
guess_history = []

# 无限循环,直到用户猜对
while True:
    try:
        # 获取用户输入的猜测数字
        user_guess = int(input("请输入你的猜测:"))
        
        # 每次猜测都将数字添加到历史列表中
        guess_history.append(user_guess)
        
        # 猜测次数增加
        guess_count += 1
        
        # 判断猜测结果
        if user_guess < secret_number:
            print("猜小了!")
        elif user_guess > secret_number:
            print("猜大了!")
        else:
            # 猜对了
            print(f"恭喜你,猜对了!我想的数字就是 {secret_number}。")
            print(f"你总共猜了 {guess_count} 次。")
            print("你的猜测历史是:", end="")
            # 使用 join 方法将列表中的数字用逗号和空格连接起来,方便打印
            print(', '.join(map(str, guess_history)))
            
            # 猜对后跳出循环
            break
    except ValueError:
        # 处理用户输入非数字的情况
        print("输入无效,请输入一个整数。")

目录

  1. 参考实现
  2. 生成 1 到 100 之间的随机整数
  3. random.randint(a, b) 会生成一个 a 和 b 之间(包括 a 和 b)的整数
  4. guess_count 用于记录猜测的次数
  5. guess_history 列表用于存储每次猜过的数字
  6. 无限循环,直到用户猜对

更多推荐文章

查看全部
  • Trae 结合 Vizro 低代码构建专业数据可视化仪表板方案
  • 基于 ToClaw 构建 AI 自动化助手:重复任务托管与远程协作实战
  • Python 数据可视化入门教程
  • Python 与 PyCharm 环境搭建实战指南
  • 数据结构基础:直接插入、希尔与选择排序详解
  • 知网 AIGC 检测不通过:降低 AI 率的三步方法
  • Stable Diffusion 绘图功能详解:局部重绘与换装应用
  • 利用 QQ 私聊构建全自动化服务器运维助手
  • Go 1.26.0 核心更新详解:GC、泛型、安全与性能优化
  • Linux 进程间通信进阶:管道与共享内存实战
  • 基于 TextIn 与 Coze 的财报数据自动化抽取实践
  • llama.cpp 量化模型部署:从模型转换到 API 服务
  • WAAPI:开启 Web 动画新纪元
  • LeetCode 1461. 检查一个字符串是否包含所有长度为 K 的二进制子串
  • Claude Skills 技术解析与应用实战
  • Spring Boot 项目用户模块设计:注册登录、权限管控与敏感数据加密
  • QClaw 接入微信:AI 正从内容生成转向任务执行
  • Spring Cloud 远程调用:OpenFeign 使用详解
  • 零基础调用 OpenAI API 实战指南
  • 1877. 数组中最大数对和的最小值

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online