生成器如何存储上一次调用的状态以保证代码端的唯一性?这样在保存的时候就发出一个请求,是否检查这个词是否有这个词,如果有,那么再请求一次?如何实施?
import requests
import json
URL = 'https://random-word-api.herokuapp.com/word?number='
def get_words(num: int) -> str:
response = requests.get(URL + str(num)).text
if num >= 10_000:
raise StopIteration("Max generation of words = 10_000")
else:
yield from json.loads(response)
if __name__ == "__main__":
for i in get_words(10):
print(i)
我做到了。但总的来说,检查表明:
因此,我认为任务是在多次调用该方法时保持唯一性。那么是的,单词可以相交,代码将是这样的:
输出示例:
要不经常拉取服务,您可以立即请求“带边际”字样,为此您可以增加
portion
请求中使用的值,例如,增加 20:但在这种情况下,您必须进行额外检查,以免多余的词进入搜索结果:
对服务的调用会更少,就不用为了一个字拉几次了: