代码之家  ›  专栏  ›  技术社区  ›  K. W. Cooper

Python Wolfram Alpha API:停止迭代

  •  0
  • K. W. Cooper  · 技术社区  · 8 年前

    如何避免停止迭代错误?我不知道代码可能正在迭代的任何函数或循环。

    import wolframalpha
    
    client = wolframalpha.Client('My Key is Goes Here')
    res = client.query('pi')
    
    print next(res.results).text
    
    2 回复  |  直到 8 年前
        1
  •  0
  •   matiasg    8 年前

    我从来没有用过 wolframalpha ,但这看起来应该是

    for result in res.results:
        print result.text
    

    编辑: 我现在已安装 黑钨矿 我看到该查询(以及我尝试过的其他查询)在 res.results 相反,他们有 pods 。您可以按如下方式迭代pods in the docs :

    for pod in res.pods:
        print '{p.title}: {p.text}'.format(p=pod)
    
        2
  •  0
  •   Gerrat    8 年前

    您对 next 是什么导致了StopIteration错误。 Python的Wolframalpha API提供了一个迭代器,可以使用( next 只得到“下一个”结果而不是所有结果)

    您可以使用try/except子句捕获错误:

    try:
        print next(res.results).text
    except StopIteration:
        print "No results"