[Python-es] [Consulta] Sobre keyerror
David Suárez
david.suarez en yahoo.com
Jue Jul 2 18:58:22 EDT 2020
Vero,
el problema que veo es que tienes la cadena "sp" de sobra tanto en la
variable url como cuando generas complete_url y creo que no deberían ir
allí, aunque no he podido checarlo por lo de la llave API.
El jue., 2 de jul. de 2020 a la(s) 17:30, Lemarchand Barker (
lemarchand8679 en gmail.com) escribió:
> Hola, este es mi código:
>
> import requests
> import json
>
> api_key = "API_KEY"
>
> url = "http://api.openweathermap.org/data/2.5/weather?q=sp"
>
> nombre_ciudad = input("Ingrese nombre de la ciudad: ")
>
> complete_url = url + "appid=" + api_key + "&q=sp" + nombre_ciudad
>
> response = requests.get(complete_url)
>
> x = response.json()
>
> if x["cod"] != "404":
>
> y = x["main"]
>
> temperatura_actual = y["temp"]
>
> celsius = temperatura_actual - 273.15
>
> presion_actual = y["pressure"]
>
> humedad_actual = y["humidity"]
>
> z = x["clima"]
>
> descripcion = z[0]["descripcion"]
>
> print(f"Temperatura: {celsius}°")
> print(f"Presión atmosférica: {presion_actual} hPa")
> print(f"Humedad: {humedad_actual} %")
> print(f"Descripción: {descripcion}")
>
> else:
> print("Ciudad no encontrada")
>
> La salida es la siguiente:
>
> /usr/bin/python3.8 /home/raiden/Programacion/weather/weather.py
> Ingrese nombre de la ciudad: Rosario
> Traceback (most recent call last):
> File "/home/raiden/Programacion/weather/weather.py", line 18, in <module>
> y = x["main"]
> KeyError: 'main'
>
> El código original es este:
> Python-find-current-weather-of-any-city-using-openweathermap-api/
> <https://www.geeksforgeeks.org/python-find-current-weather-of-any-city-using-openweathermap-api/>
>
> Saludos y gracias
>
>
> El jue., 2 jul. 2020 a las 18:20, Gerardo Diez (<
> gerardo.diez.garcia en gmail.com>) escribió:
> >
> > Hola,
> >
> > No soy precisamente un experto, pero yo normalmente voy poniendo prints
> /liga por todos lados para que me vaya mostrando el contenido de las
> cadenas.
> >
> > No recuerdo muy bien el funcionamiento de input pero puede ser que el
> string que se esté incorporando lleve un salto de línea final ( \n)?
> >
> > Si es así mira la función strip
> >
> > Un saludo
> >
> > El jue., 2 jul. 2020 22:01, lemarchand8679 <lemarchand8679 en gmail.com>
> escribió:
> >>
> >> Hola, había escrito para comentar que había solucionado el
> inconveniente de KeyError, y es cierto en parte. Digo en parte porque si
> escribo desde 0 para hacer algunas modificaciones, me tira ese error al
> introducir una ciudad, y si hago un copy-paste del código funciona y la
> verdad no se por qué, alguna idea? Gracias
> >>
> >>
> >>
> >> Enviado desde mi smartphone Samsung Galaxy.
> >>
> >> _______________________________________________
> >> Python-es mailing list
> >> Python-es en python.org
> >> https://mail.python.org/mailman/listinfo/python-es
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en python.org
> > https://mail.python.org/mailman/listinfo/python-es
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20200702/7544de6c/attachment.html>
Más información sobre la lista de distribución Python-es