3 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
函數(shù)None默認(rèn)返回;通過調(diào)用print(function),您正在打印返回的值,在您的情況下為None。
由于打印是在您的函數(shù)中進(jìn)行的,因此您可以steps不進(jìn)行打印就調(diào)用:
編輯:
如果打印是強(qiáng)制性的...也許您可以返回空字符串,則:
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貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
您應(yīng)該刪除打印
def steps(i):
t = 0
for i in range(1, i + 1):
print(("\t" * t) + (str(i) * 3) + "\n")
t += 1
steps(6)

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
考慮一下此代碼
print str(10)
簡(jiǎn)單吧!結(jié)果為“ 10”。那么,這段代碼的內(nèi)容又是什么呢?str(10)將一個(gè)對(duì)象作為輸入,并返回一個(gè)字符串作為輸出。因此,打印操作員將字符串作為輸入,并將其打印在STD輸出文件中。那么,無返回類型函數(shù)呢。(即Void返回函數(shù)),而這正是代碼中發(fā)生的事情。正確的代碼是
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)
添加回答
舉報(bào)