我正在管理一个包含自行车数据(停车号、街道、纬度和经度、锚点等)的数据帧。我的目标是创建一个函数,一方面通过输入向屏幕上的用户询问它所在的停车号,然后我想验证这个号码是否在我正在处理的数据帧的idunplug_station列中。一旦验证,下一步将保存在两个变量中,即停车号码的经度和纬度。
这个问题是在循环中没有正确输入,我知道这可能是由于缩进或类似的东西,同样,当我生成一个else时,我也有问题,因为它打印了它。
result_destino = ""
origen = int(input("Indica el nº de la estación donde te encuentras: "))
destino = int(input("Indica el nº de la estación a donde vas: "))
for i, row in stations_2019.iterrows(): #tomo como referencia el dataframe de estaciones 2019 para obtener latitud y longitud
if i == origen:
result_origen = row[10], row[11]
else:
print("No existe esa estación")
for j, row in stations_2019.iterrows():
if j == destino:
result_destino = row[10], row[11]
else:
print("No existe esa estación")
print(result_origen)
print(result_destino)
发布于 2020-08-07 20:53:05
你的循环需要看起来像这样:
for i, row in stations_2019.iterrows():
if i == origen:
result_origen = row[10], row[11]
break
else:
print("No existe esa estación") # means: "that station doesn't exist"
else
与for
一起执行,如果循环完成而没有遇到break
,则会执行。它与with if
的含义不同,尽管是相同的关键字。
您可能还希望在else
块中执行其他操作,以防止继续执行,或者稍后在尝试使用result_origen
时遇到NameError
。例如,您可以引发异常,如果它在函数内部,则可以引发return
。或者如果没有,那么至少要确保将result_origen
设置为某个值(可能是None
或''
)。
https://stackoverflow.com/questions/63302139
复制相似问题