题目:简单的猜数字小游戏
(1) 描述
- 程序随机生成一个数字,玩家用键盘输入所猜数字,在规定次数内猜对为胜。
(2) 要求
- 程序随机生成一个 1 到 100 的自然数
- 有 7 次机会去猜
- 机会用尽之前
- 若第一次就猜对,则输出“你真厉害,一次就猜对了!”,然后退出程序
- 若非第一次猜对,则输出“恭喜你,猜对了!”,然后退出程序
- 若猜错,则给出提示
- 说明所猜数字与答案相比是“大了”还是“小了”
- 显示剩余次数
- 若第 7 次仍没猜对,则先输出答案,再输出“不好意思,游戏结束了,下回加油!”
(3) 程序
1) 代码
# 猜数字小游戏
import random # 导入 random 库
flag = 0 # 7 次都没猜对时的标记,用于打印结束语
lucky_num = random.randint(1,100) # 随机生成一个 1 到 100 的自然数
guess_num = eval(input("请输入你猜测的数字(一个 1 到 100 的自然数):"))
if guess_num == lucky_num:
print("你真厉害,第一次就猜对了!")
else:
for i in range(7): # 最坏的情况是 7 次全猜错,此时需要和答案比较 7 次
if guess_num > lucky_num:
print("\n你猜的数字大了,", end = '')
elif guess_num < lucky_num:
print("\n你猜的数字小了,", end = '')
else:
print("\n恭喜你,猜对了!")
flag = 1
break
if i < 6: # 之前猜过 1 次,这里最多只能猜 6 次
print("还有", str(6-i), "次机会。\n")
print('-' * 30)
guess_num = eval(input("\n请再猜一次:"))
if flag == 0: # 7 次都没猜对才打印
print("答案是:", lucky_num)
print("\n不好意思,游戏结束了,下回加油!")
2) 运行情况
截图1
截图2