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

为什么我的Hangman游戏输出末尾会打印'None'?

问题原因与解决办法

原因

你看到的额外None,是因为Python中没有显式return语句的函数,默认返回None。你的life函数内部用print()输出了绞刑架图案,但函数本身没有返回任何值——也就是说,当你调用life(5)时,它会先执行内部的print输出图案,然后返回默认的None。而你又把这个函数调用放到了外层的print()里,相当于执行了print(None),所以最后会多打印一行None。

解决办法

有两种简单的修复方式:

  • 方案一:直接调用函数,去掉外层print
    把代码里的print(life(5))改成life(5),让函数内部的print负责输出图案,外层不再额外打印函数返回值。

  • 方案二:修改函数返回字符串,外层打印返回值
    将函数里的print()替换为return,让函数返回对应图案的字符串,再由外层print输出:

    def life(n):
        if n==6:
            return "|\n|\n|\n|\n|\n"
        elif n==5:
            return "________\n|    |\n|\n|\n|\n|\n|"
        elif n==4:
            return "________\n|    |\n|    O\n|\n|\n|\n|"
        elif n==3:
            return "________\n|    |\n|    O\n|    |\n|    |\n|    \n|"
        elif n==2:
            return "________\n|    |\n|    O\n|   /|\ \n|    |\n|    \n|"
        elif n==1:
            return "________\n|    |\n|    O\n|   /|\ \n|    |\n| __/_\__\n| |||||||"
        elif n==0:
            return "________\n|    |\n|    O\n|   /|\ \n|    |\n|   / \ \n|"
    
    print(life(5))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 09:32:46