我正在尝试解决一个练习,基本上,我必须解析一个JSON页面并搜索一个对象。如果找不到对象,那么我必须在下一页搜索它。如果我要寻找的person
在第一页上,那么我通过了测试,但是如果在另一页上,则失败了。
我检查并正确解析了每个页面,但是如果return
不在第一页上,则始终是未定义的。
这是我的代码:
import urllib.request
import json
class Solution:
def __new__(self, character):
url = 'https://challenges.hackajob.co/swapi/api/people/'
numberOfFilms = 0
#
# Some work here; return type and arguments should be according to the problem's requirements
#
numberOfFilms = self.search(self,character,url)
return numberOfFilms
def search(self, character,url):
numberOfFilms = 0
found = False
with urllib.request.urlopen(url) as response:
data = response.read()
jsonData = json.loads(data.decode('utf-8'))
for r in jsonData['results']:
if r['name'] == character:
return len(r['films'])
if (jsonData['next']):
nextPage = jsonData['next']
self.search(self,character,nextPage)
答案 0 :(得分:3)
将最后一行更改为return self.search(self,character,nextPage)