第六周作业
2025-04-08 10:18 nm1137 阅读(39) 评论(0) 收藏 举报import random
def guess_number_game():
# 游戏设置
min_num = 1
max_num = 1000
secret_number = random.randint(min_num, max_num)
attempts = 0
max_attempts = 15 # 由于范围增大,增加尝试次数
guess_history = []
print("\n欢迎来到1~1000猜数游戏!")
print(f"我已经想好了一个{min_num}到{max_num}之间的数字,你有{max_attempts}次机会来猜它。")
print("每次猜测后,我会告诉你猜大了还是猜小了。\n")
while attempts < max_attempts:
try:
guess = int(input(f"第{attempts + 1}次尝试,请输入你猜的数字: "))
# 检查输入是否在有效范围内
if guess < min_num or guess > max_num:
print(f"请输入{min_num}到{max_num}之间的数字!")
continue
attempts += 1
guess_history.append(guess)
if guess < secret_number:
print("太小了!")
min_num = max(min_num, guess + 1) # 更新最小可能值
elif guess > secret_number:
print("太大了!")
max_num = min(max_num, guess - 1) # 更新最大可能值
else:
print(f"\n恭喜你!你猜对了!数字就是{secret_number}。")
print(f"你用了{attempts}次尝试。")
print("你的猜测历史:", " → ".join(map(str, guess_history)))
return
# 显示当前可能的数字范围
print(f"提示: 数字在 {min_num} 到 {max_num} 之间")
print(f"剩余尝试次数: {max_attempts - attempts}\n")
except ValueError:
print("请输入一个有效的数字!")
print(f"\n游戏结束!你没有在{max_attempts}次内猜中。")
print(f"正确的数字是{secret_number}。")
print("你的猜测历史:", " → ".join(map(str, guess_history)))
开始游戏
while True:
guess_number_game()
# 询问是否再玩一次
play_again = input("\n想再玩一次吗?(输入y继续,其他退出): ").lower()
if play_again != 'y':
print("谢谢游玩,再见!")
break
浙公网安备 33010602011771号