دورة البايثون Python
مقدمة من schwila.com
🐍 طقس الإيمان – لماذا بايثون؟
بايثون ليست مجرد لغة، بل فلسفة. وُلدت لتكون واضحة، بسيطة، وقابلة للقراءة كما لو كانت شعرًا برمجيًا.
- 🔹 بساطة التركيب: الكود يُقرأ كما يُكتب الكلام.
- 🔹 قوة التعبير: سطر واحد قد يُعبّر عن فكرة كاملة.
- 🔹 مجتمع احتفالي: ملايين من المبرمجين يحتفلون بها يوميًا.
- 🔹 تعدد الاستخدام: من الذكاء الاصطناعي إلى تطوير الويب.
🔔 التحدي الرمزي:
ابحث عن مشروع عالمي يستخدم بايثون، واكتبه في دفتر الطقوس الخاص بك. ما رمزية استخدامهم لها؟
🛠️ طقس الأدوات – تجهيز بيئة بايثون
قبل أن تبدأ الشعائر، يجب أن تُحضّر أدواتك كما يفعل الكاهن قبل الطقس.
- 🔸 تثبيت بايثون: من الموقع الرسمي python.org
- 🔸 اختيار المحرر: يُفضل VS Code أو Jupyter Notebook
- 🔸 تجربة أولى: افتح المحرر واكتب:
print("✨ أول تعويذة بايثونية ✨")
🔔 التحدي الرمزي:
اكتب أول تعويذة لك بـ print()
، واجعلها تعبيرًا عن نيتك في هذه الرحلة. مثال:
print("أنا أبدأ رحلتي البرمجية")
🪄 طقس التسمية – المتغيرات والأنواع
في هذا الطقس، نمنح القيم أسماءً رمزية لنستدعيها لاحقًا في شعائر البرمجة.
الاسم = "Mourad"
العمر = 33
نشيط = True
نسبة_الطاقة = 0.85
print("الاسم:", الاسم)
print("العمر:", العمر)
print("هل هو نشيط؟", نشيط)
print("نسبة الطاقة:", نسبة_الطاقة)
🔔 التحدي الرمزي:
اكتب 4 متغيرات تمثّل حالتك الآن: اسمك، عمرك، شعورك، ونسبة تركيزك. ثم اطبعها وكأنك تُعلن عن نفسك للكون البرمجي.
⚖️ طقس التحويل – العمليات الحسابية والمنطقية
هنا نحول الأرقام إلى طاقات متفاعلة، ونقارن بينها كما يفعل الحكم بين قوتين.
عدد1 = 10
عدد2 = 3
مجموع = عدد1 + عدد2
فرق = عدد1 - عدد2
هل_أكبر = عدد1 > عدد2
print("المجموع:", مجموع)
print("الفرق:", فرق)
print("هل العدد الأول أكبر؟", هل_أكبر)
🔔 التحدي الرمزي:
اختر رقمين يمثلان قوتين متعارضتين، وأجرِ العمليات عليهما. فسّر النتيجة وكأنها نبوءة رياضية.
🔀 طقس القرار – التحكم في التدفق
هنا يتخذ البرنامج قراراته، كما يفعل العقل حين يختار بين الطرق.
درجة_الحرارة = 35
if درجة_الحرارة > 30:
print("🔥 الجو حار جدًا – طقس الشمس")
elif درجة_الحرارة > 20:
print("🌤 الجو معتدل – طقس النسيم")
else:
print("❄️ الجو بارد – طقس الجليد")
🔔 التحدي الرمزي:
اكتب برنامجًا يتخذ قرارًا بناءً على شعورك الآن: هل أنت نشيط؟ هل تحتاج راحة؟ اجعل البرنامج يُصدر تعويذة مناسبة.
🔁 طقس التكرار – الحلقات
كما تتكرر الطقوس، تتكرر الأوامر البرمجية لتُنجز المهام بتأمل.
للطقس in range(3):
print("🔔 هذا هو الطقس رقم", للطقس + 1)
🔔 التحدي الرمزي:
اكتب حلقة تطبع تعويذة معينة 5 مرات، وكأنك تُرددها في شعيرة برمجية.
🧠 طقس التواصل – الإدخال والإخراج
هنا يتحدث البرنامج مع المتعلم، ويستقبل منه إشارات رمزية.
الاسم = input("🪄 ما اسمك البرمجي؟ ")
print("✨ مرحبًا بك في الطقس يا", الاسم)
🔔 التحدي الرمزي:
اكتب برنامجًا يسأل المستخدم عن شعوره، ثم يرد عليه بتعويذة مناسبة.
📜 طقس الاستدعاء – الوظائف
الوظيفة هي تعويذة قابلة للاستدعاء، تُنفّذ شعيرة محددة عند الطلب.
def تعويذة_الترحيب(الاسم):
print("✨ مرحبًا بك في الطقس يا", الاسم)
تعويذة_الترحيب("Mourad")
🔔 التحدي الرمزي:
اكتب وظيفة تُصدر تعويذة بناءً على اسم المستخدم، واجعلها تُستدعى ثلاث مرات بأسماء مختلفة.
🧺 طقس التجميع – القوائم
القائمة هي وعاء رمزي يجمع عناصر الطقس، تُستخدم لتكرار الشعائر أو تخزين الطاقات.
الطقوس = ["نار", "نسيم", "جليد"]
for طقس in الطقوس:
print("🔔 تنفيذ طقس:", طقس)
🔔 التحدي الرمزي:
أنشئ قائمة تحتوي على 5 تعويذات، واطبع كل واحدة منها وكأنك تُرددها في شعيرة متكررة.
🧬 طقس الترميز – القواميس
القاموس هو كتاب رمزي يحتوي على مفاتيح وتعويذات، يُستخدم لاستدعاء المعاني المخفية.
تعويذات = {
"نار": "🔥 طاقة مشتعلة",
"نسيم": "🌬 هدوء منعش",
"جليد": "❄️ سكون عميق"
}
print("رمزية النار:", تعويذات["نار"])
🔔 التحدي الرمزي:
أنشئ قاموسًا يحتوي على رموزك الخاصة، ثم اطبع كل مفتاح وقيمته وكأنك تفتح كتابًا سريًا.
🧵 طقس اللفظ – السلاسل النصية
السلسلة النصية هي تعويذة لفظية، تُستخدم للتواصل الرمزي داخل الطقس.
تعويذة = "✨ مرحبًا بك يا Mourad"
print(تعويذة.upper())
print(تعويذة.replace("Mourad", "المستكشف"))
🔔 التحدي الرمزي:
اكتب سلسلة نصية تمثّل تعويذتك الخاصة، ثم غيّر فيها الكلمات وكأنك تُعيد تشكيل الطقس.
🏛️ طقس الخلق – الصنف
الصنف هو قالب رمزي يُستخدم لخلق كائنات تحمل صفات وسلوكيات محددة.
class تعويذة:
def __init__(self, اسم, عنصر):
self.اسم = اسم
self.عنصر = عنصر
def نفّذ(self):
print(f"🔮 تنفيذ التعويذة {self.اسم} بعنصر {self.عنصر}")
نارية = تعويذة("لهيب الروح", "نار")
نارية.نفّذ()
🔔 التحدي الرمزي:
أنشئ صنفًا يُمثّل كائناً احتفاليًا (مثل “كاهن”، “حارس”، “مُستكشف”)، وأضف له خصائص وسلوكًا رمزيًا.
🧙♂️ طقس التوارث – الوراثة
الوراثة تسمح للكائنات الجديدة أن ترث طقوسًا من أسلافها، وتُضيف عليها شعائرها الخاصة.
class كائن_رمزي:
def تحية(self):
print("🌟 تحية من الكائن الرمزي")
class كاهن(كائن_رمزي):
def طقس_خاص(self):
print("🕯 تنفيذ طقس الكاهن")
شخصية = كاهن()
شخصية.تحية()
شخصية.طقس_خاص()
🔔 التحدي الرمزي:
أنشئ صنفًا يرث من صنف آخر، وأضف له طقسًا خاصًا يُنفّذ عند استدعائه.
🧩 طقس الحماية – التغليف
التغليف هو فن إخفاء الطقوس الداخلية، بحيث لا تُكشف إلا لمن يملك الرمز الصحيح.
class كتاب_سري:
def __init__(self):
self.__تعويذة_سرية = "🧿 سر لا يُكشف"
def كشف_السر(self):
print(self.__تعويذة_سرية)
مجلد = كتاب_سري()
مجلد.كشف_السر()
🔔 التحدي الرمزي:
أنشئ صنفًا يحتوي على خاصية سرية، ولا تُكشف إلا عبر وظيفة مخصصة.
🧠 طقس التعدد – التعددية
التعددية تسمح للكائنات بتنفيذ نفس الطقس بطرق مختلفة، حسب طبيعتها الرمزية.
class كائن:
def نفّذ(self):
print("✨ تنفيذ طقس عام")
class كاهن(كائن):
def نفّذ(self):
print("🕯 تنفيذ طقس الكاهن")
class مستكشف(كائن):
def نفّذ(self):
print("🧭 تنفيذ طقس المستكشف")
لائحة = [كاهن(), مستكشف(), كائن()]
for شخصية in لائحة:
شخصية.نفّذ()
🔔 التحدي الرمزي:
أنشئ عدة أصناف ترث من نفس الأصل، وكل منها يُنفّذ نفس الوظيفة بطقسه الخاص.
⚖️ طقس التمييز – الشروط
الشروط تُستخدم لتحديد المسار الرمزي حسب الحالة، وكأنك تقرأ نبوءة وتختار الطريق.
عنصر = "نار"
if عنصر == "نار":
print("🔥 طقس النار يُنفّذ")
elif عنصر == "نسيم":
print("🌬 طقس النسيم يُنفّذ")
else:
print("❄️ طقس الجليد يُنفّذ")
🔔 التحدي الرمزي:
اكتب شرطًا يُحدّد نوع الطقس بناءً على عنصر يُدخله المستخدم، وأضف طقسًا خاصًا لكل حالة.
🔁 طقس التكرار – الحلقات
الحلقة تُعيد تنفيذ الشعيرة مرارًا، وكأنك تُرتّل تعويذة حتى يتحقّق الأثر.
لائحة_الطقوس = ["نار", "نسيم", "جليد"]
for طقس in لائحة_الطقوس:
print("🔔 تنفيذ الطقس:", طقس)
🔔 التحدي الرمزي:
أنشئ حلقة تُنفّذ طقسًا معينًا 5 مرات، مع تغيير رمزي في كل مرة (مثل إضافة رقم أو رمز).
🧿 طقس الانتظار – حلقة while
تُستخدم هذه الحلقة عندما لا يُعرف عدد التكرارات مسبقًا، وكأنك تنتظر علامة رمزية للانتقال.
طاقة = 3
while طاقة > 0:
print("🔮 تنفيذ الطقس... طاقة متبقية:", طاقة)
طاقة -= 1
🔔 التحدي الرمزي:
اكتب حلقة تستمر حتى يصل عدّاد رمزي إلى الصفر، وكل مرة تُنفّذ طقسًا مختلفًا حسب الطاقة.
🧘♂️ طقس التوجيه – التحكم في التدفق
هنا تُستخدم أدوات مثل `break` و `continue` لتوجيه الشعيرة داخل الحلقة، وكأنك تُغيّر الإيقاع حسب النبض الرمزي.
لائحة = ["نار", "نسيم", "جليد", "ظلام"]
for طقس in لائحة:
if طقس == "ظلام":
print("🚫 طقس ممنوع – إنهاء الشعيرة")
break
print("🔔 تنفيذ الطقس:", طقس)
🔔 التحدي الرمزي:
اكتب حلقة تتوقف عند ظهور طقس معين، وتُتابع عند ظهور طقس آخر، وكأنك تُفسّر إشارات رمزية.
📦 طقس التقسيم – الوحدات
الوحدة هي لفيفة رمزية تحتوي على طقوس محددة، يمكن استدعاؤها من أي مكان في المعبد البرمجي.
# ملف: تعاويذ.py
def ترحيب(اسم):
print(f"✨ أهلاً بك يا {اسم} في الطقس")
# ملف رئيسي
import تعاويذ
تعاويذ.ترحيب("Mourad")
🔔 التحدي الرمزي:
أنشئ وحدة خارجية تحتوي على تعاويذك الخاصة، واستدعها من ملف رئيسي وكأنك تفتح لفيفة سرية.
📚 طقس الاستدعاء الأعلى – المكتبات
المكتبة هي مجموعة لفائف مقدّسة، تحتوي على طقوس جاهزة تُسهّل عليك بناء الشعائر.
import math
زاوية = 45
راديان = math.radians(زاوية)
جيب = math.sin(راديان)
print("🧮 طقس الجيب للزاوية:", زاوية, "هو", round(جيب, 2))
🔔 التحدي الرمزي:
استخدم مكتبة جاهزة (مثل `math`, `random`, أو `datetime`) لتنفيذ طقس رياضي أو زمني أو عشوائي.
🧪 طقس الاستدعاء من المعابد البعيدة – المكتبات الخارجية
يمكنك استدعاء مكتبات من خارج المعبد، وكأنك تستحضر قوى من عوالم أخرى.
# تثبيت المكتبة أولاً
# pip install requests
import requests
رد = requests.get("https://api.agify.io?name=Mourad")
بيانات = رد.json()
print("🔮 العمر المتوقع لاسم Mourad هو:", بيانات["age"])
🔔 التحدي الرمزي:
استخدم مكتبة خارجية لجلب بيانات رمزية من الإنترنت، وفسّرها وكأنك تقرأ نبوءة.
🧰 طقس التوثيق – إنشاء مكتبتك الخاصة
هنا تُحوّل طقوسك إلى مكتبة رمزية، وتُوثّقها لتُستخدم في معابد أخرى.
# ملف: طقوسي.py
"""
مكتبة طقوس رمزية
توفر تعاويذ احتفالية قابلة للاستدعاء
"""
def تعويذة_نور():
print("🌟 تعويذة النور تُفعّل")
def تعويذة_ظلام():
print("🌑 تعويذة الظلام تُفعّل")
🔔 التحدي الرمزي:
أنشئ مكتبة خاصة بك تحتوي على طقوسك المفضلة، وأضف توثيقًا رمزيًا لكل وظيفة.
🎤 طقس الاستقبال – الإدخال
الإدخال هو لحظة رمزية يتلقّى فيها الطقس إشارات من المتدرّب، وكأنك تهمس له بكلمة سر.
اسم = input("🗣 أدخل اسمك لتبدأ الطقس: ")
print(f"✨ مرحبًا بك يا {اسم} في الشعيرة الرمزية")
🔔 التحدي الرمزي:
اكتب برنامجًا يستقبل اسمًا وعنصرًا من المستخدم، ثم يُنفّذ طقسًا خاصًا بناءً عليه.
📣 طقس الإظهار – الإخراج
الإخراج هو لحظة تجلّي الطقس، حيث تُعرض التعاويذ والنتائج على المتدرّب وكأنها رؤى رمزية.
عنصر = "نسيم"
درجة = 23.5
print("🌬 عنصر الطقس:", عنصر)
print("🌡 درجة الطاقة:", درجة)
print(f"🔮 الطقس {عنصر} يُنفّذ بطاقة {درجة}")
🔔 التحدي الرمزي:
اكتب برنامجًا يُظهر نتائج طقس بناءً على مدخلات، ويُزيّن الإخراج برموز احتفالية.
🧾 طقس التزيين – تنسيق الإخراج
هنا تُزيّن نتائج الطقس، وتُعرض بشكل احتفالي يُبهج المتدرّب ويُشعره بجمال الشعيرة.
اسم = "Mourad"
عنصر = "نار"
درجة = 88.7
print(f"""
🧙♂️ تقرير الطقس الرمزي
------------------------
👤 الاسم: {اسم}
🔥 العنصر: {عنصر}
⚡️ الطاقة: {درجة}
""")
🔔 التحدي الرمزي:
أنشئ إخراجًا منسّقًا يُشبه لفيفة طقسية، يحتوي على اسم المستخدم، العنصر، والنتائج الرمزية.
🧪 طقس التحقق البشري – الاختبار اليدوي
الاختبار اليدوي هو أن تُنفّذ الطقس بنفسك، وتُراقب نتائجه بعين رمزية ناقدة.
def تعويذة_جمع(a, b):
return a + b
# اختبار يدوي
نتيجة = تعويذة_جمع(3, 5)
print("🔍 النتيجة:", نتيجة) # يجب أن تكون 8
🔔 التحدي الرمزي:
اكتب تعاويذ بسيطة، واختبرها يدويًا عبر طقوس تحقق تُظهر النتائج وتُقارنها بما هو متوقّع.
🧰 طقس الحراسة الآلية – الاختبار الآلي
الاختبار الآلي هو أن تُنشئ حارسًا رمزيًا يُراقب الطقوس ويُنبّهك عند حدوث خلل.
def تعويذة_ضرب(a, b):
return a * b
def اختبار_ضرب():
assert تعويذة_ضرب(2, 3) == 6
assert تعويذة_ضرب(0, 5) == 0
print("✅ جميع الطقوس سليمة")
اختبار_ضرب()
🔔 التحدي الرمزي:
اكتب دالة اختبار تحتوي على عدة طقوس تحقق (`assert`) وتُظهر نتيجة الطقس الرمزي.
🧙♀️ طقس التصحيح – التعامل مع الأخطاء
هنا تُراقب الطقس وتُمسك بالأخطاء قبل أن تُفسد الشعيرة، وكأنك تُنقّي المسار من الشوائب.
try:
رقم = int(input("🗣 أدخل رقمًا: "))
print("🔮 النتيجة:", رقم * 2)
except ValueError:
print("🚫 خطأ رمزي: الرجاء إدخال رقم صحيح")
🔔 التحدي الرمزي:
اكتب برنامجًا يتعامل مع خطأ إدخال، ويُظهر رسالة رمزية تُرشد المتدرّب إلى التصحيح.
🧿 طقس التحقق من اللفائف – اختبار الوحدات
اختبار الوحدات هو أن تُراجع كل لفيفة على حدة، وتتأكّد من سلامة تعاويذها قبل دمجها في الشعيرة الكبرى.
# ملف: تعاويذ.py
def تعويذة_طرح(a, b):
return a - b
# ملف: اختبار.py
import تعاويذ
def اختبار_طرح():
assert تعاويذ.تعويذة_طرح(5, 2) == 3
print("✅ تعويذة الطرح سليمة")
اختبار_طرح()
🔔 التحدي الرمزي:
قسّم تعاويذك إلى وحدات، واكتب ملفات اختبار منفصلة لكل منها، وكأنك تُراجع لفائف الحكمة واحدةً تلو الأخرى.
📜 طقس التدوين – التعامل مع الملفات
هنا تُكتب التعاويذ في لفائف رقمية، تُفتح وتُقرأ وتُعدّل وكأنها نصوص مقدّسة.
# كتابة تعويذة في ملف
with open("لفيفة.txt", "w", encoding="utf-8") as ملف:
ملف.write("✨ هذه تعويذة رمزية محفوظة\n")
# قراءة التعويذة
with open("لفيفة.txt", "r", encoding="utf-8") as ملف:
محتوى = ملف.read()
print("📖 محتوى اللفيفة:\n", محتوى)
🔔 التحدي الرمزي:
اكتب برنامجًا يُسجّل تعاويذ المستخدم في ملف، ثم يقرأها ويعرضها وكأنها لفيفة سحرية.
🧮 طقس الجداول الرمزية – ملفات CSV
ملف CSV هو جدول طقسي يُخزّن بيانات الشعائر بشكل منظم، وكأنك تُرتّب رموزًا داخل أعمدة.
import csv
# كتابة بيانات رمزية
with open("طقوس.csv", "w", newline='', encoding="utf-8") as ملف:
كاتب = csv.writer(ملف)
كاتب.writerow(["اسم", "عنصر", "طاقة"])
كاتب.writerow(["Mourad", "نار", 88])
# قراءة البيانات
with open("طقوس.csv", "r", encoding="utf-8") as ملف:
قارئ = csv.reader(ملف)
for صف in قارئ:
print("🔍 صف رمزي:", صف)
🔔 التحدي الرمزي:
اكتب برنامجًا يُسجّل بيانات الطقوس في ملف CSV، ثم يقرأها ويعرضها في جدول احتفالي.
🏛️ طقس الأقبية الرمزية – قواعد البيانات
قاعدة البيانات هي سرداب رمزي يُخزّن آلاف التعاويذ، ويُتيح استدعاءها بدقة عبر مفاتيح سحرية.
import sqlite3
# إنشاء قاعدة بيانات
اتصال = sqlite3.connect("معبد_الطقوس.db")
مؤشر = اتصال.cursor()
# إنشاء جدول
مؤشر.execute("""
CREATE TABLE IF NOT EXISTS تعاويذ (
id INTEGER PRIMARY KEY,
اسم TEXT,
عنصر TEXT,
طاقة REAL
)
""")
# إدخال تعويذة
مؤشر.execute("INSERT INTO تعاويذ (اسم, عنصر, طاقة) VALUES (?, ?, ?)", ("لهيب", "نار", 88.7))
اتصال.commit()
# قراءة التعاويذ
مؤشر.execute("SELECT * FROM تعاويذ")
نتائج = مؤشر.fetchall()
for صف in نتائج:
print("📜 تعويذة:", صف)
اتصال.close()
🔔 التحدي الرمزي:
أنشئ قاعدة بيانات رمزية، وأدخل فيها تعاويذك، ثم اعرضها وكأنك تفتح سرداب الحكمة.
🏗️ طقس الترتيب – تنظيم المشروع
تنظيم المشروع هو بناء المعبد الرمزي، حيث تُرتّب التعاويذ والملفات في أروقة واضحة.
مشروعي/
├── تعاويذ/
│ └── __init__.py
│ └── طقس_النار.py
├── tests/
│ └── test_طقس_النار.py
├── main.py
├── README.md
└── requirements.txt
🔔 التحدي الرمزي:
أنشئ هيكلًا رمزيًا لمشروعك، يُقسّم التعاويذ، الاختبارات، والملفات التوثيقية في أروقة منفصلة.
📦 طقس الحُزم – التغليف
التغليف هو تحويل مشروعك إلى لفيفة قابلة للنقل، تُستدعى في معابد أخرى عبر الأمر السحري `pip`.
مشروعي/
├── setup.py
├── تعاويذ/
│ └── __init__.py
# ملف setup.py
from setuptools import setup, find_packages
setup(
name="طقوسي",
version="0.1",
packages=find_packages(),
description="📜 مكتبة طقوس رمزية",
author="Mourad",
)
🔔 التحدي الرمزي:
اكتب ملف `setup.py` يُغلف مكتبتك الرمزية، ويُجهّزها للنشر عبر `pip` أو `PyPI`.
🧪 طقس التحقق النهائي – اختبار المشروع
قبل النشر، يجب اختبار كل ركن من أركان المعبد، والتأكّد من سلامة الطقوس.
# تشغيل الاختبارات
pytest tests/
🔔 التحدي الرمزي:
اكتب اختبارات تغطّي كل تعويذة في مشروعك، وتُظهر نتائجها في تقرير رمزي.
🏛️ طقس الرؤية – تصميم المشروع النهائي
يبدأ المتدرّب بتحديد رؤيته الرمزية: ما هي الشعيرة التي يريد بناؤها؟ ما الطقوس التي ستُنفّذ؟
🔔 التحدي الرمزي:
اختر فكرة رمزية لمشروعك النهائي (مثل: “مُستكشف العناصر”، “مُفسّر التعاويذ”، “مُحرّك الطقوس”)، وحدّد أهدافه ومراحله.
🧩 طقس التجميع – بناء المكونات
يُقسّم المشروع إلى وحدات رمزية: إدخال، معالجة، تخزين، إخراج، اختبار، تغليف.
🔔 التحدي الرمزي:
أنشئ ملفات منفصلة لكل مكون، واستخدم مكتباتك الخاصة أو الخارجية، وكأنك تُجمّع لفائف الشعيرة الكبرى.
🧪 طقس التحقق النهائي – اختبار الشعيرة
يُختبر المشروع بالكامل، وتُراجع كل تعويذة، ويُعرض تقرير رمزي يُظهر نجاح الطقوس أو أخطاءها.
🔔 التحدي الرمزي:
اكتب اختبارات تغطّي كل جزء من المشروع، واستخدم أدوات مثل `pytest` أو `unittest`، وكأنك تُراجع كتاب الأسرار قبل عرضه.
🎭 طقس التقديم – العرض الرمزي
يُعرض المشروع في تجربة حسية رمزية: واجهة، مؤثرات، سرد، احتفال بالرحلة.
🔔 التحدي الرمزي:
صمّم واجهة رمزية تُظهر مراحل المشروع، وتُتيح للمستخدم التفاعل مع الطقوس، وكأنّه يعيش الشعيرة بنفسه.
👋 أهلاً بك
سيُستخدم الاسم لتوليد التوقيع والملف.
⏳ جاري التحضير…
سننتقل تلقائيًا بعد العد التنازلي.
🎓 شهادة اجتياز الدورة
يُمنح هذا الوسام إلى:
لإتمامه بنجاح دورة دورة البايثون Python على منصة schwila.com.
💡 رمز الدورة: Pyth-2025
📅 التاريخ:
📎 تحقق من الشهادة عبر رمز QR