2 回答
TA贡献1854条经验 获得超8个赞
只是做direction('forward')
而不是print direction('forward')
。 direction
已经照顾好了print
ing本身。尝试执行print direction('forward')
将仅执行direction('forward')
(打印出w
,wo
等),然后打印出的返回值direction('forward')
,即None
,因为它不返回任何内容,也没有理由使其返回任何内容。
TA贡献1786条经验 获得超13个赞
您的direction函数没有return任何作用,因此默认为None。这就是为什么在打印函数时返回的原因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]
然后,您将其运行为:
>>> for i in direction('forward'):
... print i
...
w
wo
wor
word
该direction函数现在返回一个generator,您可以循环遍历并打印值。
或者,您根本不能使用print:
>>> direction('forward')
w
wo
wor
word
添加回答
举报