2 回答

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
只是做direction('forward')
而不是print direction('forward')
。 direction
已經(jīng)照顧好了print
ing本身。嘗試執(zhí)行print direction('forward')
將僅執(zhí)行direction('forward')
(打印出w
,wo
等),然后打印出的返回值direction('forward')
,即None
,因?yàn)樗环祷厝魏蝺?nèi)容,也沒(méi)有理由使其返回任何內(nèi)容。

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
您的direction函數(shù)沒(méi)有return任何作用,因此默認(rèn)為None。這就是為什么在打印函數(shù)時(shí)返回的原因None。您可以使用yield:
def direction(x):
"""Type direction of word to be spelled as str, forward or reverse."""
if x == 'reverse':
for x in range(wordlength, 0, -1):
yield word[:x]
elif x == 'forward': # Also, I changed the "if" here to "elif" (else if)
for x in range(0, wordlength + 1):
yield word[:x]
然后,您將其運(yùn)行為:
>>> for i in direction('forward'):
... print i
...
w
wo
wor
word
該direction函數(shù)現(xiàn)在返回一個(gè)generator,您可以循環(huán)遍歷并打印值。
或者,您根本不能使用print:
>>> direction('forward')
w
wo
wor
word
添加回答
舉報(bào)