因此,此函数现在返回我想要的结果,但是在最底部有一个令人讨厌的“无”。我知道这是因为没有什么可返回的,这就是为什么打印“ 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.
答案 0 :(得分:1)
默认情况下,函数返回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
''
答案 1 :(得分:1)
您应该删除打印文件
def steps(i):
t = 0
for i in range(1, i + 1):
print(("\t" * t) + (str(i) * 3) + "\n")
t += 1
steps(6)
答案 2 :(得分:0)
像这样更新您的代码:
def steps(i):
t = 0
for i in range(1, i + 1):
print(("\t" * t) + (str(i) * 3) + "\n")
t += 1
return "" #updated
print(steps(6)) #Now your print function will get the value "" (empty string), and will print it
当函数未显式返回任何值时,它将返回默认返回值None
。您的print
函数正在获取此None
并进行打印。
输出:
111
222
333
444
555
666
答案 3 :(得分:0)
考虑此代码
2018-01-01 01:02:03
简单吧!结果为“ 10”。那么,这段代码的内容是什么? str(10)将一个对象作为输入,并返回一个字符串作为输出。因此,打印操作员将字符串作为输入,并将其打印在STD输出文件中。 那么,无返回类型函数呢? (即Void返回函数),而这正是代码中发生的情况。 正确的代码是
WHERE date = '2018-05-01'
或
print str(10)
答案 4 :(得分:0)
def steps(i):
t = 0
for i in range(1, i + 1):
print(("\t" * t) + (str(i) * 3) + "\n")
t += 1
return ""
steps(6)
请从steps(6)
移除打印内容,然后您将摆脱None
。