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

Python中print()函数参数打印顺序异常问题求助

问题解决

你的问题出在how_many_stars()函数的实现上:

  • 函数内部直接调用print()输出星号,当你在外层print()的参数列表里调用它时,Python会优先执行函数内部的print语句,所以星号会先被打印出来。
  • 函数没有返回值,默认返回None,这个None会被当作外层print()的一个参数输出。

修改方案

让函数返回对应长度的星号字符串,而不是直接打印:

star = "*"

def how_many_stars(who):
    # 生成对应长度的星号字符串并返回
    return star * len(who)

# 模拟player_1对象,get_name返回"Steve"
player_1 = type('Player', (), {'get_name': lambda self: 'Steve'})()

print(" |************** PSEUDO :", player_1.get_name(), how_many_stars(player_1.get_name()),"|")

运行结果

|************** PSEUDO : Steve ***** |

这样星号就会出现在预期的位置,也不会有None输出了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:45:43