0

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

import wolframalpha

client = wolframalpha.Client('My Key is Goes Here')
res = client.query('pi')

print next(res.results).text
4

2 回答 2

0

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

for result in res.results:
    print result.text

编辑:我现在已经安装wolframalpha,我看到该查询(以及我尝试过的其他查询)在res.results. 相反,他们有pods. 您可以像在文档中那样遍历 pod :

for pod in res.pods:
    print '{p.title}: {p.text}'.format(p=pod)
于 2016-03-01T22:10:44.653 回答
0

您对next的使用是造成 StopIteration 错误的原因。Python 的 Wolframalpha API 为您提供了一个迭代器来遍历结果(next只获取“下一个”结果而不是所有结果)

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

try:
    print next(res.results).text
except StopIteration:
    print "No results"
于 2016-03-01T22:19:00.853 回答