为了账号安全,请及时绑定邮箱和手机立即绑定

如何解决此功能,使其在底部不显示“ None”?

如何解决此功能,使其在底部不显示“ None”?

跃然一笑 2021-04-01 13:15:29
因此,此函数现在返回我想要的结果,但是在最底部有一个令人讨厌的“无”。我知道这是因为没有什么可返回的,这就是为什么打印“ None”的原因,但是如何更改我的代码以显示没有“ None”的结果呢?谢谢。另外,“ print(steps(6))”行是必填项,因为它是练习的一部分。def steps(i):    t = 0    for i in range(1, i + 1):        print(("\t" * t) + (str(i) * 3) + "\n")        t += 1print(steps(6))结果是111    222        333            444                555                    666None #I want to get rid of this.
查看完整描述

3 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

函数None默认返回;通过调用print(function),您正在打印返回的值,在您的情况下为None。

由于打印是在您的函数中进行的,因此您可以steps不进行打印就调用:


编辑:

如果打印是强制性的...也许您可以返回空字符串,则:


def steps(i):

    t = 0

    for i in range(1, i + 1):

        print(("\t" * t) + (str(i) * 3) + "\n")

        t += 1

    return ''


print(steps(6))

输出:

111


    222


        333


            444


                555


                    666

''


查看完整回答
反对 回复 2021-04-20
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

您应该删除打印


def steps(i):

    t = 0

    for i in range(1, i + 1):

        print(("\t" * t) + (str(i) * 3) + "\n")

        t += 1




steps(6)


查看完整回答
反对 回复 2021-04-20
?
慕容森

TA贡献1853条经验 获得超18个赞

考虑一下此代码


print str(10)

简单吧!结果为“ 10”。那么,这段代码的内容又是什么呢?str(10)将一个对象作为输入,并返回一个字符串作为输出。因此,打印操作员将字符串作为输入,并将其打印在STD输出文件中。那么,无返回类型函数呢。(即Void返回函数),而这正是代码中发生的事情。正确的代码是


def steps(i):

    t = 0

    for i in range(1, i + 1):

        print(("\t" * t) + (str(i) * 3) + "\n")

        t += 1

    return '' 

print(steps(6))

或者


def steps(i):

    t = 0

    for i in range(1, i + 1):

        print(("\t" * t) + (str(i) * 3) + "\n")

        t += 1


steps(6)


查看完整回答
反对 回复 2021-04-20
  • 3 回答
  • 0 关注
  • 262 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号