2016-03-01 83 views

回答

0

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

for result in res.results: 
    print result.text 

编辑:现在我已经安装wolframalpha,我看到,该查询(和其他人我有尝试过)在res.results没有结果。相反,他们有pods。您可以通过豆荚为in the docs迭代:

for pod in res.pods: 
    print '{p.title}: {p.text}'.format(p=pod) 
0

您使用的是next是什么创造的StopIteration错误。 Python对WolframAlpha的API是你在对结果提供了一个迭代循环(next只是得到了“未来”的结果,而不是所有的)

你可以捕集器和尝试错误/ except子句:

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

虽然这并不能真正解决问题,因为没有任何东西会打印出来。 –

+0

如果之前打印过,则会在之后打印。下一次调用时出现StopIteration错误意味着没有'next'结果。我的解决方案阻止这个异常传播(如果你更喜欢这个,你可以在'except'子句中打印“无结果”)。 – Gerrat

相关问题