الدوال functions: اجعل البرنامج مقسمًا إلى مهام واضحة
في الدرس السابق نظمنا بيانات المنتج باستخدام dict. الآن سننظم الكود نفسه باستخدام functions، وننقل طباعة التقرير إلى دالة مستقلة حتى يصبح البرنامج أسهل قراءة وتطويرًا.
ما النتيجة التي يجب أن تخرج بها؟
في نهاية الدرس ستفهم هذا الشكل:
def print_report(products, total):
print("----- تقرير المنتجات -----")
for product in products:
name = product["name"]
price = product["price"]
print(f"{name}: {price:.2f} ريال")
print(f"عدد المنتجات: {len(products)}")
print(f"الإجمالي: {total:.2f} ريال")
ثم تستدعي الدالة بهذا السطر:
print_report(products, total)
لماذا نحتاج functions؟
عندما يكبر البرنامج، يصبح من الصعب قراءة كل شيء في مكان واحد. الدوال تساعدنا على تقسيم البرنامج إلى مهام واضحة.
مثال:
إدخال المنتجات حساب الإجمالي طباعة التقرير
بدل أن تكون كلها مختلطة، نجعل كل مهمة في مكان واضح.
أنشئ ملف الدرس الثالث والعشرين
افتح مجلد الدورة داخل VS Code:
python_course
ثم أنشئ ملفًا جديدًا باسم:
lesson_23.py
افتح الملف داخل Editor.
جرّب دالة بسيطة
اكتب:
def say_hello():
print("أهلًا بك في برنامج المشتريات")
say_hello()
النتيجة:
أهلًا بك في برنامج المشتريات
افهم شكل الدالة
الشكل العام للدالة:
def function_name():
الأوامر التي تنتمي للدالة
لاحظ أربعة أشياء:
ما معنى parameters؟
أحيانًا الدالة تحتاج بيانات حتى تعمل. دالة التقرير تحتاج:
products total
لذلك نكتب:
def print_report(products, total):
اكتب دالة طباعة التقرير
الآن اكتب دالة التقرير:
def print_report(products, total):
print("----- تقرير المنتجات -----")
for product in products:
name = product["name"]
price = product["price"]
print(f"{name}: {price:.2f} ريال")
print(f"عدد المنتجات: {len(products)}")
print(f"الإجمالي: {total:.2f} ريال")
رتّب الكود النهائي على أجزاء
الجزء الأول: ضع دالة التقرير في أعلى الملف:
def print_report(products, total):
print("----- تقرير المنتجات -----")
for product in products:
name = product["name"]
price = product["price"]
print(f"{name}: {price:.2f} ريال")
print(f"عدد المنتجات: {len(products)}")
print(f"الإجمالي: {total:.2f} ريال")
الجزء الثاني: جهز قائمة المنتجات والإجمالي:
products = [] total = 0 name_prompt = "اسم المنتج أو done: " price_prompt = "سعر المنتج: "
الجزء الثالث: استقبل المنتجات من المستخدم:
while True:
product_name = input(name_prompt).strip()
if product_name.lower() == "done":
break
price_text = input(price_prompt).strip()
price = float(price_text)
product = {
"name": product_name,
"price": price
}
products.append(product)
total = total + price
الجزء الرابع: استدعِ دالة التقرير:
print_report(products, total)
شغّل البرنامج
احفظ الملف:
Ctrl + S
ثم شغله:
python lesson_23.py
وإذا لم يعمل أمر python:
py lesson_23.py
اختبر البرنامج
جرّب هذه الإدخالات:
اسم المنتج أو done: Keyboard سعر المنتج: 100 اسم المنتج أو done: Mouse سعر المنتج: 50 اسم المنتج أو done: done
النتيجة المتوقعة:
----- تقرير المنتجات ----- Keyboard: 100.00 ريال Mouse: 50.00 ريال عدد المنتجات: 2 الإجمالي: 150.00 ريال
تحدي صغير: أضف دالة ترحيب
أضف دالة في أعلى الملف:
def print_welcome():
print("أهلًا بك في برنامج المشتريات")
print("أدخل المنتجات، واكتب done عند الانتهاء")
ثم استدعها قبل بداية إدخال المنتجات:
print_welcome()
اختبار نهاية الدرس
قبل الانتقال للدرس القادم، تأكد أنك فهمت هذه النقاط:
خلاصة الدرس
تعلمنا أن functions تساعدنا على تقسيم البرنامج إلى مهام واضحة. نقلنا طباعة التقرير إلى دالة اسمها print_report، ومررنا لها products و total حتى تستخدمهما في طباعة التقرير.
تذكر القاعدة:
def function_name(parameters):
أوامر الدالة
function_name(values)
في الدرس القادم سنتعلم return، وهي خطوة مهمة تجعل الدالة لا تطبع فقط، بل تعيد نتيجة يمكن استخدامها في مكان آخر من البرنامج.
💬 التعليقات
لا توجد تعليقات بعد.
🚫 يجب تسجيل الدخول لإضافة تعليق. دخول / تسجيل