تمرين إعادة البناء
قارئ طقس محلي
اقرأ بيانات طقس محلية بصيغة 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()اكتب هنا