Back to posts Edit this post
Copy content

16 Mar 17:46

Zad1
import json from pathlib import Path import requests POKEAPI_URL = "https://pokeapi.co/api/v2/pokemon/{name}" def fetch_pokemon(name: str) -> dict | None: url = POKEAPI_URL.format(name=name.lower()) response = requests.get(url, timeout=10) if response.status_code == 404: return None response.raise_for_status() return response.json() def save_to_file(data: dict, filename: str) -> None: Path(filename).write_text( json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8" ) def print_pokemon_info(data: dict) -> None: pokemon_name = data.get("name", "nieznany") weight = data.get("weight", "brak danych") types_data = data.get("types", []) types_list = [item["type"]["name"] for item in types_data] moves_data = data.get("moves", []) moves_list = [item["move"]["name"] for item in moves_data] print(f"Pokemon: {pokemon_name}") print(f"Waga: {weight}") print(f"Typy: {', '.join(types_list) if types_list else 'brak'}") print("Ruchy:") if moves_list: for move in moves_list: print(f" - {move}") else: print(" - brak ruchów") def main() -> None: name = input("Podaj nazwę pokemona: ").strip() if not name: print("Nie podano nazwy pokemona.") return try: data = fetch_pokemon(name) if data is None: print(f"Pokemon '{name}' nie istnieje.") return # opcjonalny zapis do pliku save_to_file(data, f"{name.lower()}.json") # analiza odpowiedzi print_pokemon_info(data) except requests.RequestException as exc: print(f"Błąd podczas pobierania danych: {exc}") if __name__ == "__main__": main()

No files