0

stopiteration エラーを回避するにはどうすればよいですか? コードが反復している可能性のある関数やループを認識していません。

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ます。docs のようにポッドを反復処理できます。

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 に答える