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

Python中run_game返回整数但main接收的score为None该如何修复

问题原因

你的start_game函数没有显式返回run_game()的执行结果,Python中所有没有写return语句的分支,函数默认返回None,这就是你拿到的score变成None的核心原因。

修复方案

修改start_game函数,在调用run_game()的位置加上return即可:

def start_game():
    '''
    This will ask user if they want to play or not, it then calls upon run_game().
    '''
    start = input("Would you like to take the pokemon quiz?(Y/N):")

    if start.upper() == "Y":
        # 这里加上return,把run_game返回的score透传出去
        return run_game()
    else:
        quit()

其他可优化的小问题

  • 你answers列表里的"Glaceon,"多了一个英文逗号,用户输入Glaceon的时候会匹配失败,建议删掉多余的逗号改成"Glaceon"
  • 目前单局游戏只出1道题,但是game_end函数里提示是“points out of 5”,可以调整游戏逻辑或者修改提示文本保持一致
  • play_again函数里用了递归调用自己,玩的次数多了会有栈溢出风险,建议改成循环逻辑实现重开功能

内容的提问来源于stack exchange,提问作者Tylerdean5

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:45:03