当前位置:首页>python>Python猜数字游戏:零基础一步步上手

Python猜数字游戏:零基础一步步上手

  • 2026-10-10 12:30:39
Python猜数字游戏:零基础一步步上手

Python 其实就像搭积木,一行一行拼起来就行。

游戏规则

电脑随机生成一个 1~100 之间的整数,你来猜。

  • 猜大了,提示「猜大了」
  • 猜小了,提示「猜小了」
  • 猜对了,恭喜你,游戏结束

我们从最简单的版本开始,一步步往上加功能。


第一步:让电脑生成一个随机数

写程序的第一步,先想:电脑怎么产生一个随机数字?

Python 自带了 random 工具包,里面有个 randint 函数,可以生成指定范围内的整数。

import random

answer = random.randint(1, 100)
print("神秘数字已经生成好了,在 1 到 100 之间")

知识点:

  • import random 就是把随机数工具包拿过来用
  • randint(a, b) 会生成一个 a 到 b 之间的整数,包含 a 和 b

第二步:让用户输入猜测的数字

有了答案,接下来要接收玩家的输入。用 input() 函数就能获取用户敲的内容。

import random

answer = random.randint(1, 100)
print("神秘数字已经生成好了,在 1 到 100 之间")

guess = input("请输入你猜的数字:")
guess = int(guess)  # 把字符串转成整数

注意:input() 拿到的默认是文字(字符串),必须用 int() 转成数字才能比较大小。


第三步:判断猜大了还是猜小了

有了答案和猜测,就要做判断了,这就是编程里的「条件判断」——if...elif...else。

import random

answer = random.randint(1, 100)
print("神秘数字已经生成好了,在 1 到 100 之间")

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

if guess > answer:
    print("猜大了!")
elif guess < answer:
    print("猜小了!")
else:
    print("恭喜你,猜对了!")

现在这个程序只能猜一次,猜不对就结束了,体验很差。我们需要让它可以反复猜。


第四步:加上循环,反复猜直到猜对

用 while True 做一个死循环,猜对了就 break 跳出循环。

import random

answer = random.randint(1, 100)
print("神秘数字已经生成好了,在 1 到 100 之间")

whileTrue:
    guess = input("请输入你猜的数字:")
    guess = int(guess)

if guess > answer:
        print("猜大了!")
elif guess < answer:
        print("猜小了!")
else:
        print("恭喜你,猜对了!")
break# 猜对了,跳出循环

到这里,一个能玩的猜数字游戏就完成了。但还可以更完善。


第五步:限制猜测次数,增加挑战性

无限猜太简单了,我们加个次数限制,比如给 7 次机会,用完就游戏结束。

import random

answer = random.randint(1, 100)
print("神秘数字已经生成好了,在 1 到 100 之间")
print("你一共有 7 次机会")

count = 0# 记录猜了几次

while count < 7:
    guess = input("请输入你猜的数字:")
    guess = int(guess)
    count += 1# 次数加1

if guess > answer:
        print(f"猜大了!还剩 {7 - count} 次机会")
elif guess < answer:
        print(f"猜小了!还剩 {7 - count} 次机会")
else:
        print(f"恭喜你,猜对了!你用了 {count} 次")
break
else:
# while 循环正常结束(没被 break 打断)就会走这里
    print(f"机会用完了,正确答案是 {answer},下次加油!")

小技巧:f"..." 是 f-string,可以直接把变量塞进字符串里,非常方便。


第六步:处理异常输入,程序不崩溃

如果用户输入的不是数字,比如输入了「abc」,int() 转换会报错,程序直接崩掉。

我们用 try...except 来捕获错误,让程序更健壮。

import random

answer = random.randint(1, 100)
print("神秘数字已经生成好了,在 1 到 100 之间")
print("你一共有 7 次机会")

count = 0

while count < 7:
    guess_str = input("请输入你猜的数字:")

# 尝试转成数字,转失败就提示重新输入
try:
        guess = int(guess_str)
except ValueError:
        print("请输入有效的整数哦!")
continue# 跳过本次循环,不消耗次数

    count += 1

if guess > answer:
        print(f"猜大了!还剩 {7 - count} 次机会")
elif guess < answer:
        print(f"猜小了!还剩 {7 - count} 次机会")
else:
        print(f"恭喜你,猜对了!你用了 {count} 次")
break
else:
    print(f"机会用完了,正确答案是 {answer},下次加油!")

完整最终版代码

下面是整合好的完整版本,复制到你的 Python 环境里就能直接运行。

import random

defguess_number_game():
    answer = random.randint(1, 100)
    max_times = 7
    count = 0

    print("=" * 30)
    print("欢迎来到猜数字游戏!")
    print("我已经想好了一个 1~100 之间的整数")
    print(f"你共有 {max_times} 次猜测机会")
    print("=" * 30)

while count < max_times:
        user_input = input(f"\n第 {count + 1} 次猜测,请输入数字:")

# 输入合法性校验
try:
            guess = int(user_input)
except ValueError:
            print("输入无效,请输入一个整数!")
continue

# 范围校验
if guess < 1or guess > 100:
            print("数字必须在 1 到 100 之间哦")
continue

        count += 1

# 判断结果
if guess > answer:
            print(f"猜大了!", end=" ")
elif guess < answer:
            print(f"猜小了!", end=" ")
else:
            print(f"\n太棒了!你猜对了,答案就是 {answer}")
            print(f"你一共用了 {count} 次机会")
return

# 显示剩余次数
        remaining = max_times - count
if remaining > 0:
            print(f"还剩 {remaining} 次机会")

# 次数用完
    print(f"\n很遗憾,{max_times} 次机会都用完了")
    print(f"正确答案是:{answer}")

# 启动游戏
if __name__ == "__main__":
    guess_number_game()

这篇文章你学到了什么

一个小小的猜数字游戏,覆盖了 Python 最核心的基础语法:

  1. 模块导入:import random 调用系统工具
  2. 变量与数据类型:整数、字符串的转换
  3. 输入输出:input() 获取输入,print() 打印结果
  4. 条件判断:if / elif / else 分支逻辑
  5. 循环结构:while 循环 + break 跳出 + continue 跳过
  6. 异常处理:try / except 防止程序崩溃
  7. 函数封装:def 把代码打包成可复用的函数

这些就是 Python 的「基本功」,几乎所有 Python 程序都是由这些元素组合而成的。


留给你的小作业

试着在这个基础上再加一点功能:

  • 游戏结束后问「要不要再来一局?」,输入 y 就重新开始
  • 增加难度选择:简单模式 10 次,困难模式 5 次
  • 猜中后根据次数给出评价:「大神」「不错」「勉强及格」

动手改一改,编程就是越写越熟练的。

如果你有项目开发、代码修改、环境配置、网站搭建需求

欢迎随时私信沟通 ✉️

高效交付 · 源码完整 · 售后答疑

🐍 Python后端干货 | 持续分享实战经验

最新文章

随机文章