Files

2.6 KiB
Raw Permalink Blame History

Day_9 · 模块与猜数字小游戏(综合复习)

预计耗时:25~30 分钟 Python 有很多现成的"工具包"叫模块(module),import 就能用。 今天用随机数模块写个小游戏,顺便把 input / if / while 全部串起来复习一遍。

今日知识点

  • import random:随机数模块,random.randint(1, 10) 生成 1~10 的随机整数
  • import time:时间模块,time.time() 拿当前时间(秒)
  • 为什么要模块:别人写好、你直接用,就像 Django 也是别人写好给你用的"大模块"

先学(教程)

任务(后做)

新建 day9.py,写一个猜数字游戏:

import random

target = random.randint(1, 10)   # 电脑随机想一个 1~10 的数
print("我想到一个 1~10 之间的数,你猜猜看!")

while True:
    guess = int(input("你的猜测:"))
    if guess == target:
        print("猜对啦!")
        break                     # 猜对就结束
    elif guess < target:
        print("小了,再大点")
    else:
        print("大了,再小点")

测试:多玩几局,确认"大了/小了/猜对"三种反馈都正常。

进阶(加分):

  1. 用 import time 记录"猜了几秒":游戏开始记一次 time.time(),结束再记一次,两者相减就是秒数,游戏结束时打印。
  2. 限制最多猜 5 次,超过就打印"机会用完了,答案是 X"并结束(提示:用 for 代替 while True,或者加一个计数变量 + break)。

完成标准

  • 游戏能正常玩完一整局
  • 能说出 import random 是干什么的
  • (进阶)能统计用时 或 限制次数(二选一即可)

提交方式:把 day9.py 代码贴在当日工单评论里。

参考解答(先做再看)

import random
import time

start = time.time()
target = random.randint(1, 10)
print("我想到一个 1~10 之间的数,你猜猜看!")

for i in range(5):                       # 进阶 2:最多 5 次
    guess = int(input("你的猜测:"))
    if guess == target:
        print("猜对啦!")
        break
    elif guess < target:
        print("小了,再大点")
    else:
        print("大了,再小点")
else:                                    # for 正常结束(没 break)才执行
    print(f"机会用完了,答案是{target}")

end = time.time()
print(f"用时{end - start:.1f}秒")         # 进阶 1:统计用时