JavaScript is not enabled!...Please enable javascript in your browser

جافا سكريبت غير ممكن! ... الرجاء تفعيل الجافا سكريبت في متصفحك.

-->
Startseite

🧮 كيف تصنع آلة حاسبة بسيطة مع واجهة رسومية بلغة Python خطوة بخطوة

تعلم البرمجة يحتاج إلى تطبيق عملي بسيط يدمج المفاهيم الأساسية مع تجربة تفاعلية. في هذا المقال، سنشرح لك كيفية صنع آلة حاسبة بسيطة بلغة Python، مع إضافة واجهة مستخدم رسومية باستخدام مكتبة Tkinter. هذه المكتبة تسمح لك ببناء تطبيقات بواجهات تفاعلية تجعل تجربة المستخدم أسهل وأجمل، خاصة للمبتدئين.


1. الأدوات المطلوبة

  • تثبيت لغة Python (يمكن تحميلها من الموقع الرسمي).
  • محرر نصوص مثل VS Code أو محرر النصوص الافتراضي.
  • معرفة بسيطة بأساسيات Python.

2. كتابة الكود بدون واجهة (مراجعة سريعة)

البرنامج الأساسي للآلة الحاسبة يكون على الشكل التالي:

def add(x, y):
    return x + y

def subtract(x, y):
    return x - y

def multiply(x, y):
    return x * y

def divide(x, y):
    if y == 0:
        return "خطأ: لا يمكن القسمة على صفر"
    else:
        return x / y

print("اختر العملية:")
print("1. جمع")
print("2. طرح")
print("3. ضرب")
print("4. قسمة")

choice = input("أدخل رقم العملية: ")
num1 = float(input("أدخل الرقم الأول: "))
num2 = float(input("أدخل الرقم الثاني: "))

if choice == '1':
    print("النتيجة:", add(num1, num2))
elif choice == '2':
    print("النتيجة:", subtract(num1, num2))
elif choice == '3':
    print("النتيجة:", multiply(num1, num2))
elif choice == '4':
    print("النتيجة:", divide(num1, num2))
else:
    print("اختيار غير صالح")

3. تطوير البرنامج بواجهة رسومية باستخدام Tkinter

الآن سنطور البرنامج ليشمل نافذة تفاعلية تقدر تضغط فيها الأزرار بدل الكتابة في الطرفية. الكود كامل كالتالي:

import tkinter as tk

def click_button(value):
    current = entry.get()
    entry.delete(0, tk.END)
    entry.insert(0, current + value)

def clear():
    entry.delete(0, tk.END)

def calculate():
    try:
        result = eval(entry.get())
        entry.delete(0, tk.END)
        entry.insert(0, str(result))
    except Exception:
        entry.delete(0, tk.END)
        entry.insert(0, "خطأ")

root = tk.Tk()
root.title("آلة حاسبة بسيطة")

entry = tk.Entry(root, width=16, font=('Arial', 24), bd=4, relief='ridge', justify='right')
entry.grid(row=0, column=0, columnspan=4)

buttons = [
    '7', '8', '9', '+',
    '4', '5', '6', '-',
    '1', '2', '3', '*',
    'C', '0', '=', '/',
]

row = 1
col = 0

for b in buttons:
    action = lambda x=b: click_button(x) if x not in ['=', 'C'] else (calculate() if x == '=' else clear())
    btn = tk.Button(root, text=b, width=4, height=2, font=('Arial', 24), command=action)
    btn.grid(row=row, column=col, padx=5, pady=5)
    col += 1
    if col > 3:
        col = 0
        row += 1

root.mainloop()

4. شرح الكود مع الواجهة الرسومية

  • أنشأنا نافذة رئيسية باستخدام tk.Tk().
  • أضفنا خانة إدخال Entry لعرض الأرقام والعمليات.
  • أنشأنا أزرار للأرقام والعمليات ووضعناها في شبكة grid.
  • دوال click_button لإضافة الأرقام والعمليات، وclear لمسح المحتوى، وcalculate لتنفيذ العملية الحسابية.
  • تعاملنا مع الأخطاء باستخدام try-except لعرض رسالة خطأ عند إدخال غير صحيح.

5. تحسينات مستقبلية يمكنك إضافتها

  • إضافة دعم لعمليات متقدمة مثل الأس واللوغاريتم.
  • تصميم واجهة أجمل مع ألوان مختلفة وزخارف.
  • إضافة سجل العمليات الحسابية (History).
  • دعم لغة الواجهات (Localization) لتغيير اللغة بسهولة.
  • إمكانية تصدير النتائج أو حفظها في ملف.

✅ الخاتمة

الآن لديك آلة حاسبة بسيطة تشتغل من نافذة تفاعلية، وهذا مثال عملي يجمع بين البرمجة التقليدية وتطوير الواجهات الرسومية. ابدأ بتجربة الكود، وحاول تضيف تحسينات خاصة بك لتطوير مهاراتك أكثر. تعلم البرمجة يتطلب التجربة، ولا تتردد في تعديل الكود وتجربته بنفسك.

NameE-MailNachricht