猿问

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

因此,此函数现在返回我想要的结果,但是在最底部有一个令人讨厌的“无”。我知道这是因为没有什么可返回的,这就是为什么打印“ 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 += 1


print(steps(6))

结果是


111


    222


        333


            444


                555


                    666


None #I want to get rid of this.


跃然一笑
浏览 263回答 3
3回答

Cats萌萌

函数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''

蝴蝶刀刀

您应该删除打印def steps(i):    t = 0    for i in range(1, i + 1):        print(("\t" * t) + (str(i) * 3) + "\n")        t += 1steps(6)

慕容森

考虑一下此代码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 += 1steps(6)
随时随地看视频慕课网APP

相关分类

Python
我要回答