首页 > 解决方案 > 我怎样才能为这个函数写一个递归?

问题描述

我怎样才能为这个函数写一个递归?

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

标签: pythonpython-3.xlistrecursion

解决方案


从 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))

推荐阅读