3 回答

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

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)

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)
添加回答
举报