Python简单小游戏代码:10分钟写出猜数字与打地鼠

武侠角色持刀远眺

先给答案:两段能直接运行的Python小游戏代码

想找Python简单小游戏代码,最省事的做法是先用标准库实现两个不依赖第三方包的小游戏:猜数字和命令行打地鼠。复制下面代码保存为.py文件,在Python 3环境直接运行即可,不需要安装pygame。

代码一:猜数字(约20行)

import random

answer = random.randint(1, 100)
count = 0
while True:
    try:
        guess = int(input('猜一个1到100的数字:'))
    except ValueError:
        print('请输入整数')
        continue
    count += 1
    if guess == answer:
        print(f'猜对了,共用{count}次')
        break
    elif guess < answer:
        print('小了')
    else:
        print('大了')

代码二:命令行打地鼠

import random

score = 0
for round_no in range(10):
    hole = random.randint(1, 9)
    print(f'第{round_no + 1}轮:地鼠出现在{hole}号洞')
    try:
        hit = int(input('输入你敲的洞号:'))
    except ValueError:
        print('输入无效,本轮不得分')
        continue
    if hit == hole:
        score += 1
        print('打中了!')
    else:
        print('没打中')
print(f'游戏结束,总分{score}/10')

逐段理解:小游戏代码背后的四个基础语法

这两段Python简单小游戏代码虽然短,却覆盖了入门阶段最常用的知识:random模块负责生成随机数,while True构成主循环,if/elif/else完成条件判断,try/except处理用户乱输入。把这几块吃透,后面改写石头剪刀布、文字冒险、答题闯关都会很顺。

随机数为什么每次不一样

random.randint(a, b)会返回包含两端的随机整数。它依赖系统时间做种子,所以每次运行结果不同。如果你希望复现同一次结果,可以在开头调用random.seed(42),调试时很方便。

循环与退出条件

猜数字使用while True,靠猜中后的break退出;打地鼠使用for range(10),轮次固定。两种写法分别对应“不知道要猜几次”和“固定回合数”两种场景,值得对照记忆。

把代码改得更好玩:三个可直接动手的升级方向

  • 加难度:把猜数字范围改成1到1000,或者限制最多猜8次,超出就失败。
  • 加记录:把每次猜测的数字存进列表,结束后打印猜测历史,练习列表操作。
  • 加视觉提示:用print输出井号组成的九宫格,把地鼠位置标出来,命令行也能有画面感。

一个难度调节小技巧

猜数字的提示语可以改成“很接近”“差一点”,通过abs(guess - answer)与阈值比较实现,让反馈更有层次,也让代码多练一次内置函数。

常见问题与报错排查

运行后没有任何反应

多数情况是文件里只有函数定义却没有调用,或者代码块缩进不一致。检查是否有顶格写的调用语句,并统一使用4个空格缩进。

输入字母就崩溃

未做异常处理时,int(input())遇到字母会抛出ValueError。上面两段代码已经用try/except包住输入,养成这个习惯能明显减少练手时的挫败感。

想做成窗口图形版怎么办

先把命令行版本逻辑跑通,再引入pygame或tkinter。图形界面只是换了一层输入输出,核心的判断和计分逻辑可以直接复用,不必从零重写。

下一步练什么

掌握这两段代码后,可以尝试石头剪刀布、猜单词、简易计算器小游戏。建议每次只加一个新功能,比如先加计分,再加计时,最后加存档,逐步把Python简单小游戏代码扩展成完整的小项目。

相关文章