You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python猜数字游戏代码问题排查及功能实现求助

Python猜数字游戏代码修复方案

原代码存在的问题

  • 缩进语法错误:函数定义、else分支缩进不符合Python规范,运行直接报错
  • 输入无异常捕获:用户输入非数字内容时,int(input())会直接抛出异常终止程序
  • 猜测次数统计逻辑错误:仅猜对时才计数,未统计每一次输入的猜测
  • 内层循环判断条件无效:guess被强制转为整数,永远不可能等于空字符串,逻辑冗余
  • 成功提示文本不符合要求:要求输出内容为Congratulations. You guessed the number!,原代码输出内容不一致
  • 重玩逻辑未重置状态:再次开始游戏时未清空上一轮的猜测次数
  • 输入引导缺失:多处input()无提示文本,用户不知道需要输入什么内容

修复后可运行代码

import random

def main():
    again = 'y'
    while again.lower() == 'y':
        # 每轮游戏重置状态
        number_of_guesses = 0
        secret_num = random.randrange(1, 1001)
        print('===== 猜数字游戏 =====')
        print('我生成了一个1到1000之间的整数,请用最少的次数猜对哦')
        
        while True:
            # 捕获非数字输入异常
            try:
                guess = int(input('请输入你的猜测值:'))
                number_of_guesses += 1
            except ValueError:
                print('输入错误,请输入1-1000之间的整数')
                continue
            
            if guess < secret_num:
                print('你猜的数字太小了,再试试')
            elif guess > secret_num:
                print('你猜的数字太大了,再试试')
            else:
                print('Congratulations. You guessed the number!')
                print(f'你总共猜了{number_of_guesses}次')
                again = input('是否重新游玩?输入y继续,其他按键退出:').strip()
                break

if __name__ == '__main__':
    main()

内容的提问来源于stack exchange,提问作者abolfazl.pro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 10:48:02