Back to posts Edit this post
Copy content

16 Mar 17:47

zad2
import requests PARKING_METERS_URL = ( "https://www.poznan.pl/mim/plan/map_service.html" "?mtype=pub_transport&co=parking_meters" ) def fetch_parking_meters() -> dict: response = requests.get(PARKING_METERS_URL, timeout=15) response.raise_for_status() return response.json() def get_zones(data: dict) -> list[str]: features = data.get("features", []) zones = { feature.get("properties", {}).get("zone", "").strip() for feature in features if feature.get("properties", {}).get("zone") } return sorted(zones) def get_streets_for_zone(data: dict, selected_zone: str) -> list[str]: features = data.get("features", []) streets = { feature.get("properties", {}).get("street", "").strip() for feature in features if feature.get("properties", {}).get("zone", "").strip().lower() == selected_zone.lower() and feature.get("properties", {}).get("street") } return sorted(streets) def main() -> None: try: data = fetch_parking_meters() print("Nazwy stref płatnego parkowania:") zones = get_zones(data) for zone in zones: print(f" - {zone}") print() selected_zone = input("Podaj wybraną strefę: ").strip() if not selected_zone: print("Nie podano nazwy strefy.") return streets = get_streets_for_zone(data, selected_zone) if not streets: print(f"Nie znaleziono ulic dla strefy: {selected_zone}") return print(f"\nUlice z parkometrami dla strefy '{selected_zone}':") for street in streets: print(f" - {street}") except requests.RequestException as exc: print(f"Błąd podczas pobierania danych: {exc}") except ValueError as exc: print(f"Błąd danych JSON: {exc}") if __name__ == "__main__": main()

No files