如何让Python游戏中的while循环动态变更剩余次数提示信息
猜数字游戏代码优化方案
以下是调整后的代码,实现了根据剩余尝试次数动态提示的功能:
num = 2 guess = None guess_count = 0 guess_limit = 3 out_of_guesses = False while guess != num and not out_of_guesses: remaining_tries = guess_limit - guess_count # 根据剩余次数输出对应提示 if remaining_tries > 1 and guess_count > 0: print(f"WARNING: you have {remaining_tries} amount of tries left") elif remaining_tries == 1: print("LAST CHANCE") if guess_count < guess_limit: guess = int(input('Guess a number between 1 and 10: ')) guess_count += 1 else: out_of_guesses = True if out_of_guesses: print('Out of guesses. LOSER!') else: print('BINGO! The third time\'s the CHARM! WINNER!')
关键改动说明
- 修正初始
guess的类型问题:原代码用空字符串''初始化,会导致第一次循环时字符串与整数的无效比较,改为None更严谨 - 动态计算剩余次数:通过
remaining_tries = guess_limit - guess_count实时获取剩余尝试机会 - 分阶段提示:
- 第一次尝试后(
guess_count > 0)且剩余次数大于1时,输出WARNING提示剩余次数 - 剩余次数只剩1次时,输出LAST CHANCE
- 第一次尝试后(
- 猜对数字直接终止循环:玩家猜对后会跳出循环,不会触发后续的提示信息
内容的提问来源于stack exchange,提问作者Uchenna Umeh
相关产品推荐
相关产品推荐

