【发布时间】:2022-01-21 18:45:46
【问题描述】:
我有这个功能:
def encontrar(data_,departureAirportCode_,departureTime_,arrivalAirportCode_,arrivalTime_):
for i in range(len(data_flights)):
data=data_[i]["flights"]
for k in range(len(data)):
departureAirportCode=data[k]["departureAirportCode"]
departureTime=data[k]["departureTime"]
arrivalAirportCode=data[k]["arrivalAirportCode"]
arrivalTime=data[k]["arrivalTime"]
if departureAirportCode==departureAirportCode_ and departureTime==departureTime_ and arrivalAirportCode==arrivalAirportCode_ and arrivalTime==arrivalTime_:
code=data_[i]["flights"][k]["itinerary"][0]["flightCode"]
print(code)
else:
print("There is no flights on that date")
像这样打印结果(一个interget):
encontrar(data_flights,"SCL","2022-01-11T15:40:00","PMC","2022-01-11T17:20:00")
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
There is no flights on that date
仅:401 在此先感谢,我还是 python 的新手 :) 在此先感谢,我还是 python 的新手 :)
【问题讨论】:
-
为什么你在函数内部使用数据飞行的长度
-
您的打印语句在循环内,所以每次循环通过它时,它都会打印 - 您可以将它放在循环外开始吗?
-
和else部分配对错误
-
如果你只是想用函数参数过滤数据,尝试使用
filter和lambda
标签: python for-loop if-statement