[Python-es] [Consulta] Sobre keyerror
Lemarchand Barker
lemarchand8679 en gmail.com
Jue Jul 2 18:29:33 EDT 2020
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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20200702/8682a8c8/attachment.html>
Más información sobre la lista de distribución Python-es