python 循环问题打印星号金字塔出现None

问题遇到的现象和发生背景

题目:当n为正奇数时,打印函数fun(n)返回的字符串,得到一个底部有n个*的金字塔

问题相关代码

def fun(n):
for i in range(n):
if (i+1)%2==1:
b=''(i+1)
b=str(b)
print(b.center(n," "))

print(fun(1))
print(fun(5))
print(fun(7))

运行结果及报错内容

img

我的解答思路和尝试过的方法

尝试添加return,但循环会中止,打不出金字塔的效果

我想要达到的结果

输出结果里去掉None
但def fun(n):
print(fun(1))
print(fun(5))
print(fun(7))这几行不能改动,是题目要求的

函数最后加个这个就行了

return('')
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632