me ayudarias agrecarle al codigo que cuando se selecione una ciudad salga con una imagen de ella por favor sin clave api y sin sel manualmente por favor te envio el codigo para que agreques la informacion pedida import urllib.request
import json
import tkinter as tk
from tkinter import messagebox
def obtener_coordenadas(ciudad):
url_geo = f"
https://nominatim.openstreetmap.org/search?format=json&q={ciudad}"
try:
with urllib.request.urlopen(url_geo) as respuesta:
datos = json.loads(respuesta.read().decode())
if datos:
latitud = datos[0]["lat"]
longitud = datos[0]["lon"]
return latitud, longitud
else:
return None, None
except Exception:
return None, None
def obtener_clima():
ciudad = entrada_ciudad.get()
if not ciudad:
messagebox.showerror("Error", "Por favor, ingresa una ciudad")
return
latitud, longitud = obtener_coordenadas(ciudad)
if latitud is None or longitud is None:
messagebox.showerror("Error", "No se encontraron coordenadas para esta ciudad")
return
url_clima = f"https://api.open-meteo.com/v1/forecast?latitude={latitud}&longitude={longitud}¤t_weather=true"
try:
with urllib.request.urlopen(url_clima) as respuesta:
datos = json.loads(respuesta.read().decode())
if "current_weather" in datos:
clima = datos["current_weather"]
temperatura = clima["temperature"]
viento = clima["windspeed"]
resultado.config(text=f" 📍: {ciudad}\n🌡: {temperatura}°C\n🌬 : {viento} km/h")
else:
messagebox.showerror("Error", "No se encontraron datos climáticos")
except Exception:
messagebox.showerror("Error", "No se pudo obtener el clima")
Configuración de la interfaz gráfica
ventana = tk.Tk()
ventana.title("Aplicación Climática Mejorada")
ventana.geometry("400x200") # Establece el tamaño de la ventana
tk.Label(ventana, text="Ingrese ciudad:").pack()
entrada_ciudad = tk.Entry(ventana)
entrada_ciudad.pack()
boton_consultar = tk.Button(ventana, text="Consultar Clima", command=obtener_clima)
boton_consultar.pack()
resultado = tk.Label(ventana, text="", font=("Arial", 12))
resultado.pack()
ventana.mainloop()