
先给答案:两段能直接运行的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简单小游戏代码扩展成完整的小项目。