elif语句未按预期工作

2024-10-03 02:32:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着查看多个来源,看看哪一个有一个特定的条目。你知道吗

我的输入看起来像:

json_str2 = urllib2.urlopen(URL2).read()
u = json.loads(json_str2)
#load all five results
One = u['flightStatuses'][0]
Two = u['flightStatuses'][1]
Three = u['flightStatuses'][2]
Four = u['flightStatuses'][3]
Five = u['flightStatuses'][4]

我的if语句工作正常,得到了正确的结果:

if One['flightNumber'] == str(FlEnd):
    fnumber = One['flightId']
    print fnumber

但是当我添加elif:时,即使第一个语句是True,答案也是错误的(没有)。你知道吗

我不明白为什么elif不起作用?你知道吗

# if statement checks each result to define flightId, needed for tracking.
if One['flightNumber'] == str(FlEnd):
    fnumber = One['flightId']
elif Two['flightNumber'] == str(FlEnd):
    fnumber = Two['flightId']
print fnumber

Tags: jsonif来源语句oneprinttwoelif
1条回答
网友
1楼 · 发布于 2024-10-03 02:32:48

你应该把它写成五个飞行状态的循环,而不是使用五个变量和五个条件。你知道吗

results = json.loads(urllib2.urlopen(URL2).read())['flightStstuses']
for result in results:
    if result['flightNumber'] == str(FlEnd):
        fnumber = result['flightId']
        break
else:
    fnumber = None
print fnumber

相关问题 更多 >