[英]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.