25 分钟
Python 入门

综合练习:猜数字游戏

用条件判断和随机数完成猜数字游戏

  • 综合运用 if-elif-else
  • 学会 import random 生成随机数
  • 完成完整小游戏逻辑

游戏介绍

经典猜数字游戏:程序随机生成 1-100 的数字,玩家来猜,程序提示「大了」还是「小了」。

第一步:生成随机数

用 import random 导入随机数工具库(后续课程会详细讲解 import):

示例代码(可运行)
ℹ️random.randint(a, b)

random.randint(1, 100) 生成 1 到 100 之间的随机整数,包含两端。

第二步:判断大小

示例代码(可运行)

第三步:结合 input 让玩家输入

示例代码(可运行)
💡预告

学完循环,你就能让玩家反复猜,直到猜对为止,还能记下总共猜了多少次。

预测输出
import random
print(random.randint(1, 1))
找 Buginput() 返回字符串,字符串和整数不能用 > 比较,需要 int() 转换。
import random n = random.randint(1, 100) guess = input("猜:") if guess > n: print("大了")
填空题填写空白处的代码
import random n = random.(1, 100) guess = 50 if guess > n: print("猜了")
选择题

random.randint(1, 10) 不可能生成哪个值?

选择题

猜数字游戏中,random.randint(1, 100) 可能返回?

资深工程师加餐

底层原理 · 大厂视角 · 工程经验,点卡片展开

Python 里整数、字符串甚至函数都是对象,堆在内存里;变量不是装东西的盒子,而是一张贴在对象上的「名字标签」(引用)。id(x) 看对象身份,is 比身份、== 比值。CPython 会缓存 -5~256 的小整数,所以 a=1;b=1 时 a is b 为 True,但 a=300;b=300 未必。结论:判断值是否相等永远用 ==,判断是不是 None 才用 is。

挑战任务

猜数字

简单+50 XP

生成 1-100 随机数,假设玩家猜 50,输出「猜大了」「猜小了」或「猜对了」。

猜数字
2 个测试用例

课后作业

石头剪刀布

中等+20 XP

用 random.choice 让电脑随机出拳,判断输赢。

石头剪刀布
1 个测试用例