簡體   English   中英

elif語句未按預期工作

[英]elif statement not working as expected

我正在嘗試查看多個來源,以查看哪個來源具有特定條目。

我的輸入如下所示:

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

您應該將此代碼寫成五個飛行狀態的循環,而不是使用五個變量和五個條件。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM