#pip install requests colorama termcolor import requests from colorama import Fore, Style, init import json #inicializace barev z colorama init(autoreset=True) # klíč najdete na https://home.openweathermap.org/api_keys API_KEY = "cdcbb82b14e8e3e85117686c68e19a5b" def ziskej_pocasi(mesto): """ Funkce pošle požadavek a vrátí slovník (json) s informacemi """ #& = AltGR + C url1 = "https://api.openweathermap.org/data/2.5/weather" url2 = f"?q={mesto}&appid={API_KEY}&units=metric&lang=cz" url = url1 + url2 print(f"Otevírám: {url}") try: response = requests.get(url) response.raise_for_status() data = response.json() return data except requests.exceptions.HTTPError: return "Město nebylo nalezeno. Zkontroluj překlepy" except Exception as e: return f"Chyba: {e}" #podmínka jestli je skript spuštěný jako samostatný skript a ne jako knihovna if __name__ == "__main__": print(Fore.CYAN + "--- OpenWeatherMap bot ---") print("Tento bot ti zjistí aktualní počasí v libovolném městě (možná i vesnici) na světě") if API_KEY == "API_KLIC": print(Fore.RED + "\nPOZOR: Musíš do proměnné API_KEY vložit svůj klíč!!!") exit() while True: mesto_input = input(Fore.YELLOW + "\nZadej název města (nebo 'q' pro konec): ").strip() if mesto_input.lower() in ["q","konec","exit","quit"]: print("Děkujeme za použití bota") break if mesto_input: print(f"Zjištuji počasí pro {mesto_input}") vysledek = ziskej_pocasi(mesto_input) print("-"*30) #pokud vysledek je slovník (čitelný JSON v pythonu) tak máme data o počasí if isinstance(vysledek,dict): # nezapomenout na `import json` # print(json.dumps(vysledek,indent=4,ensure_ascii=False)) teplota = vysledek["main"]["temp"] pocitova_teplota = vysledek["main"]["feels_like"] popis = vysledek["weather"][0]["description"] vlhkost = vysledek["main"]["humidity"] print(f"Město: {Fore.GREEN}{vysledek['name']}") print(f"Počasí: {Fore.BLUE}{popis}") print(f"Teplota: {Fore.RED}{teplota}°C") print(f"Pocitová Teplota: {pocitova_teplota}°C") print(f"Vlhkost vzduchu: {vlhkost}%") else: print(Fore.RED + vysledek) print("-"*30)