From 0bda79f9d7cd2fd3fddbd1fa5376a0d5a16a9ab2 Mon Sep 17 00:00:00 2001 From: khalid_py Date: Wed, 5 Aug 2026 10:34:35 +0000 Subject: [PATCH] Update geo_data.py --- geo_data.py | 79 +++++++++++++++++------------------------------------ 1 file changed, 25 insertions(+), 54 deletions(-) diff --git a/geo_data.py b/geo_data.py index a64602e..44c3537 100644 --- a/geo_data.py +++ b/geo_data.py @@ -1,56 +1,27 @@ -"""Arab World Geo Data - بيانات جغرافية للوطن العربي""" +ARAB=[ +{'name':'Saudi Arabia','capital':'Riyadh','lat':24.71,'lng':46.68,'pop':35.0}, +{'name':'UAE','capital':'Abu Dhabi','lat':24.45,'lng':54.38,'pop':9.4}, +{'name':'Egypt','capital':'Cairo','lat':30.04,'lng':31.24,'pop':109.0}, +{'name':'Iraq','capital':'Baghdad','lat':33.32,'lng':44.37,'pop':43.5}, +{'name':'Jordan','capital':'Amman','lat':31.95,'lng':35.93,'pop':11.1}, +{'name':'Palestine','capital':'Jerusalem','lat':31.77,'lng':35.21,'pop':5.4}, +{'name':'Morocco','capital':'Rabat','lat':34.02,'lng':-6.84,'pop':37.0}, +{'name':'Algeria','capital':'Algiers','lat':36.75,'lng':3.06,'pop':44.0}, +{'name':'Sudan','capital':'Khartoum','lat':15.50,'lng':32.56,'pop':46.0}, +{'name':'Yemen','capital':'Sanaa','lat':15.37,'lng':44.19,'pop':33.0}, +{'name':'Syria','capital':'Damascus','lat':33.51,'lng':36.28,'pop':22.0}, +{'name':'Lebanon','capital':'Beirut','lat':33.89,'lng':35.50,'pop':5.5}, +{'name':'Tunisia','capital':'Tunis','lat':36.81,'lng':10.18,'pop':12.0}, +{'name':'Libya','capital':'Tripoli','lat':32.89,'lng':13.19,'pop':6.8}, +{'name':'Oman','capital':'Muscat','lat':23.59,'lng':58.38,'pop':4.5}, +{'name':'Kuwait','capital':'Kuwait City','lat':29.38,'lng':47.98,'pop':4.3}, +{'name':'Qatar','capital':'Doha','lat':25.29,'lng':51.53,'pop':2.9}, +{'name':'Bahrain','capital':'Manama','lat':26.22,'lng':50.59,'pop':1.5}, +{'name':'Somalia','capital':'Mogadishu','lat':2.05,'lng':45.32,'pop':17.0}, +{'name':'Mauritania','capital':'Nouakchott','lat':18.07,'lng':-15.96,'pop':4.6}] -ARAB_COUNTRIES = [ - {"name_ar": "المملكة العربية السعودية", "name_en": "Saudi Arabia", "capital": "الرياض", "lat": 24.7136, "lng": 46.6753, "population_m": 35.0}, - {"name_ar": "الإمارات العربية المتحدة", "name_en": "UAE", "capital": "أبوظبي", "lat": 24.4539, "lng": 54.3773, "population_m": 9.4}, - {"name_ar": "مصر", "name_en": "Egypt", "capital": "القاهرة", "lat": 30.0444, "lng": 31.2357, "population_m": 109.0}, - {"name_ar": "العراق", "name_en": "Iraq", "capital": "بغداد", "lat": 33.3152, "lng": 44.3661, "population_m": 43.5}, - {"name_ar": "الأردن", "name_en": "Jordan", "capital": "عمّان", "lat": 31.9454, "lng": 35.9284, "population_m": 11.1}, - {"name_ar": "لبنان", "name_en": "Lebanon", "capital": "بيروت", "lat": 33.8938, "lng": 35.5018, "population_m": 5.5}, - {"name_ar": "سوريا", "name_en": "Syria", "capital": "دمشق", "lat": 33.5138, "lng": 36.2765, "population_m": 22.0}, - {"name_ar": "فلسطين", "name_en": "Palestine", "capital": "القدس", "lat": 31.7683, "lng": 35.2137, "population_m": 5.4}, - {"name_ar": "اليمن", "name_en": "Yemen", "capital": "صنعاء", "lat": 15.3694, "lng": 44.1910, "population_m": 33.0}, - {"name_ar": "عُمان", "name_en": "Oman", "capital": "مسقط", "lat": 23.5880, "lng": 58.3829, "population_m": 4.5}, - {"name_ar": "الكويت", "name_en": "Kuwait", "capital": "مدينة الكويت", "lat": 29.3759, "lng": 47.9774, "population_m": 4.3}, - {"name_ar": "قطر", "name_en": "Qatar", "capital": "الدوحة", "lat": 25.2854, "lng": 51.5310, "population_m": 2.9}, - {"name_ar": "البحرين", "name_en": "Bahrain", "capital": "المنامة", "lat": 26.2235, "lng": 50.5876, "population_m": 1.5}, - {"name_ar": "الجزائر", "name_en": "Algeria", "capital": "الجزائر", "lat": 36.7538, "lng": 3.0588, "population_m": 44.0}, - {"name_ar": "المغرب", "name_en": "Morocco", "capital": "الرباط", "lat": 34.0209, "lng": -6.8416, "population_m": 37.0}, - {"name_ar": "تونس", "name_en": "Tunisia", "capital": "تونس", "lat": 36.8065, "lng": 10.1815, "population_m": 12.0}, - {"name_ar": "ليبيا", "name_en": "Libya", "capital": "طرابلس", "lat": 32.8872, "lng": 13.1913, "population_m": 6.8}, - {"name_ar": "السودان", "name_en": "Sudan", "capital": "الخرطوم", "lat": 15.5007, "lng": 32.5599, "population_m": 46.0}, - {"name_ar": "موريتانيا", "name_en": "Mauritania", "capital": "نواكشوط", "lat": 18.0735, "lng": -15.9582, "population_m": 4.6}, - {"name_ar": "الصومال", "name_en": "Somalia", "capital": "مقديشو", "lat": 2.0469, "lng": 45.3182, "population_m": 17.0}, - {"name_ar": "جيبوتي", "name_en": "Djibouti", "capital": "جيبوتي", "lat": 11.5721, "lng": 43.1456, "population_m": 1.1}, - {"name_ar": "جزر القمر", "name_en": "Comoros", "capital": "موروني", "lat": -11.7172, "lng": 43.2473, "population_m": 0.8}, -] +def total_population(): return sum(c['pop'] for c in ARAB) -def get_country(name: str): - """البحث عن دولة بالاسم العربي أو الإنجليزي""" - for c in ARAB_COUNTRIES: - if name in c["name_ar"] or name.lower() in c["name_en"].lower(): - return c - return None - -def get_nearest_country(lat: float, lng: float): - """أقرب دولة عربية للإحداثيات المعطاة""" - import math - nearest = None - min_dist = float("inf") - for c in ARAB_COUNTRIES: - dist = math.sqrt((c["lat"] - lat)**2 + (c["lng"] - lng)**2) - if dist < min_dist: - min_dist = dist - nearest = c - return nearest - -def total_population() -> float: - """إجمالي سكان الوطن العربي""" - return sum(c["population_m"] for c in ARAB_COUNTRIES) - -if __name__ == "__main__": - print(f"عدد الدول العربية: {len(ARAB_COUNTRIES)}") - print(f"إجمالي السكان: {total_population():.1f} مليون نسمة") - print(f"\nالدول العربية:") - for c in ARAB_COUNTRIES: - print(f" {c['name_ar']} - العاصمة: {c['capital']} - السكان: {c['population_m']}M") +if __name__=='__main__': + print(f'{len(ARAB)} Arab countries, {total_population():.1f}M people') + for c in ARAB: print(f" {c['name']} - {c['capital']} ({c['pop']}M)")