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

Python忍者对战小游戏运行后血量栏下方返回None问题求助

问题原因与解决方案

问题诱因

你遇到的输出None的问题由两处逻辑叠加导致:

  • 你定义的return_health函数没有显式声明返回值,Python中所有无显式return语句的函数,默认返回None
  • 你在fight函数中调用return_health时,额外套了一层print(),等于先执行return_health内部的打印逻辑输出姓名和血量条,再打印函数返回的None,就出现了多余的None输出

修复方案

直接删掉fight函数中调用return_health时外层的print()即可,修改前的代码为:

print(return_health(player1.name, player1.health, player1.maxhealth, player1.healthdashes))
print(return_health(player2.name, player2.health, player2.maxhealth, player2.healthdashes))

修改后为:

return_health(player1.name, player1.health, player1.maxhealth, player1.healthdashes)
return_health(player2.name, player2.health, player2.maxhealth, player2.healthdashes)

因为return_health函数内部已经完成了血量条的打印操作,不需要再额外套一层print打印函数返回值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:54:04