如何为这个函数编写递归?
def randomWord(args):
yield random.choice(args)
list = ['book', 'apple', 'word']
books = randomWord(list)
print(next(books))
print(next(books))
print(next(books))
print(next(books))
print(next(books))
在每个 print(next(books))
之后,我需要从 list
中获取一个随机单词
答案 0 :(得分:1)
从 Python 3.3 开始,您可以只使用 yield from
关键字。
def randomWord(args):
yield random.choice(args)
yield from randomWord(args)
list = ['book', 'apple', 'word']
books = randomWord(list)
print(next(books))
print(next(books))
print(next(books))
print(next(books))
print(next(books))
答案 1 :(得分:0)
def randomWord(args):
yield random.choice(args)
list = ['book', 'apple', 'word']
books = randomWord(list)
def recurse(n):
if n == 0: return # base case
print(next(books))
recurse(n-1)
recurse(99) # the recurse function will call itself 99 times (for a total of 100 calls)
不知道为什么你想要这个而不是循环......