[Python3 练习] 007 简单的猜数字小游戏

时间:2023-03-08 17:22:06

题目:简单的猜数字小游戏

(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

    [Python3 练习] 007 简单的猜数字小游戏

  • 截图2

    [Python3 练习] 007 简单的猜数字小游戏