AzLearn

تمرين إعادة البناء

قارئ طقس محلي

اقرأ بيانات طقس محلية بصيغة JSON واعرض ملخصاً مفيداً.

python ~15 دقيقة مبتدئ
أعد بناء الكود Rebuild

هذا هو الكود. اكتبه بنفسك.

الكود المرجعي
import argparse
import json
from pathlib import Path

SAMPLE_WEATHER = {
    "city": "Riyadh",
    "temperature_c": 32.5,
    "humidity": 21,
    "wind_kph": 14,
    "condition": "clear",
}


def load_weather(path: Path | None) -> dict[str, object]:
    if path is None:
        return SAMPLE_WEATHER
    return json.loads(path.read_text(encoding="utf-8"))


def describe_weather(data: dict[str, object]) -> str:
    city = data.get("city", "Unknown")
    temp = float(data.get("temperature_c", 0))
    humidity = int(data.get("humidity", 0))
    wind = float(data.get("wind_kph", 0))
    condition = str(data.get("condition", "unknown"))
    return f"{city}: {temp:.1f}°C, {condition}, humidity {humidity}%, wind {wind:.0f} kph"


def main() -> None:
    parser = argparse.ArgumentParser(description="Read local weather JSON and print a summary.")
    parser.add_argument("json_file", nargs="?", type=Path)
    args = parser.parse_args()

    print(describe_weather(load_weather(args.json_file)))


if __name__ == "__main__":
    main()
اكتب هنا