محتوى الدرس (للمقدمة): تهانينا! لقد وصلت إلى القمة. في هذا المشروع، لن نكتفي بمجرد تخزين بيانات، بل سنبني نظاماً يحاكي الواقع تماماً. سنستخدم البرمجة الكائنية، التعامل مع الملفات، ومعالجة البيانات لبناء نظام بنكي يسمح بفتح حساب، إيداع الأموال، وحفظ الرصيد في ملف حتى لا يضيع.
الكود البرمجي (جاهز للنسخ – تذكر وضعه بتنسيق Preformatted):
import os
:class BankAccount
:def __init__(self, owner, balance=0)
self.owner = owner
self.balance = balance
self.filename = f”{self.owner}_balance.txt”
() self.load_balance
:def load_balance(self)
# استرجاع الرصيد من الملف إذا كان موجوداً
:if os.path.exists(self.filename)
:with open(self.filename, “r”) as f
self.balance = float(f.read())
def save_balance(self)
# حفظ الرصيد الحالي في الملف
: with open(self.filename, “w”) as f
f.write(str(self.balance))
:def deposit(self, amount)
self.balance += amount
() self.save_balance
(” {self.balance}:الرصيد الحالي. {amount}تم إيداع ✅”f)print
:def withdraw(self, amount)
:if amount <= self.balance
self.balance -= amount
()self.save_balance
(“{self.balance}:الرصيد المتبقي . {amount} . تم سحب✅”f)print
:else
(” ! عذراً، الرصيد غير كافٍ❌”)print
# — تشغيل النظام —
(“مرحباً بك في بنك قياوي، ادخل اسمك: “) user_name = input
account = BankAccount(user_name)
(” {account.balance} : رصيدك السابق هو، {account.owner}مرحباً”f)print
() strip .(“هل تريد (إيداع/سحب)؟ “).action = input
((“أدخل المبلغ: “)input)val = float
:”إيداع” == if action
account.deposit(val)
:”سحب”== “سحب”:elif action
account.withdraw(val)</code
لماذا هذا المشروع هو “تحدي الأبطال”؟
الواقعية: البرنامج يتذكر رصيدك حتى لو أغلقت الحاسوب وأعدت تشغيله غداً.
الاحترافية: استخدمنا مكتبة os للتأكد من وجود الملف قبل قراءته.
التفاعلية: البرنامج يتحدث مع المستخدم ويأخذ منه الأوامر.