كيفية إنشاء تلميح وتقسيم الآلة الحاسبة في بايثون

دعنا نتعلم كيفية إنشاء حاسبة تلميح وتقسيم في Python.

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

معاينة

سنقوم ببناء التطبيق بطريقتين. أولاً ، سنقوم ببناء برنامج نصي بسيط لقذيفة Python يطالب المستخدم بالإدخال ويكتب المخرجات.

ثانيًا ، سنمنح البرنامج واجهة مستخدم رسومية باستخدام Tkinter.

مواصفات البرنامج

يتلقى البرنامج ثلاث مدخلات:

  • مبلغ الفاتورة
  • نسبة البقشيش
  • عدد الأشخاص الذين يتقاسمون الفاتورة

باستخدام هذه المدخلات ، سيحسب البرنامج المخرجات التالية:

  • مساهمة كل شخص في الفاتورة
  • مساهمة كل شخص في الإكرامية
  • إجمالي مساهمة كل شخص

الخوارزمية

لتحقيق ذلك ، ستتبع حاسبة التلميح والتقسيم خوارزمية بسيطة للغاية موضحة أدناه:

  • تلقي المدخلات: bill_amount، tip_percentage، number_of_people
  • احسب مبلغ الإكرامية بضرب bill_amount * tip_percentage / 100
  • قسّم مبلغ الفاتورة على عدد الأشخاص للحصول على مساهمة كل شخص في الفاتورة.
  • قسّم tip_amount على number_of_people للحصول على مساهمة كل شخص في الإكرامية.
  • أخيرًا ، أضف الاشتراكات إلى الفاتورة والإكرامية للحصول على المبلغ الإجمالي المستحق.
  • المتطلبات الأساسية

    لمتابعة هذا البرنامج التعليمي ، يجب أن تعرف وتفهم لغة برمجة Python. في هذا البرنامج التعليمي ، يلزم معرفة المفاهيم الأساسية ، بما في ذلك الوظائف والفئات.

    بالإضافة إلى ذلك ، يجب أن يكون لديك Python مثبتًا في نظامك. إذا لم يكن كذلك ، فانتقل إلى موقع Python على الويب وقم بتنزيله. بدلاً من ذلك ، يحتوي admingate.org على مترجم Python عبر الإنترنت حيث يمكنك تشغيل كود Python في المتصفح بدون إعداد بيئة على الإطلاق.

      كيفية التحقق مما إذا كانت الخلية ليست فارغة في جداول بيانات Google

    بناء الآلة الحاسبة بواجهة سطر الأوامر

    قم بإنشاء مجلد المشروع

    للبدء ، انتقل إلى مجلد فارغ في نظامك. في حالتي ، أنا أستخدم Ubuntu 22.04 ، لذلك لإنشاء مجلد والانتقال إليه باستخدام الجهاز ؛ أحتاج إلى إدخال الأمر التالي:

    mkdir tip-calculator && cd tip-calculator

    قم بإنشاء ملف Python

    بعد ذلك ، قم بإنشاء ملف البرنامج النصي حيث سنكتب نص بايثون. في حالتي ، سأستخدم الأمر touch للقيام بذلك:

    touch main.py

    افتح ملف البرنامج النصي باستخدام محرر التعليمات البرمجية المفضل لديك

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

    nano main.py

    تلقي المدخلات

    بعد ذلك ، يمكننا إضافة سطور التعليمات البرمجية التالية إلى أعلى الملف:

    # Receiving input for bill amount as a floating point number
    bill_amount = float(input("Bill amount: ")) 
    
    # Receiving input for the tip percentage as a floating point number
    tip_percentage = float(input("Tip percentage: "))
    
    # Receiving the input for the number of people as an integer
    number_of_people = int(input("Number of people: "))

    في الأساس ، هذا يتلقى المدخلات ويلقي نوع البيانات لكل إدخال من سلسلة إلى النوع الأكثر ملاءمة.

    احسب مبلغ الإكرامية

    بعد ذلك ، نحسب مبلغ الإكرامية بضرب نسبة الإكرامية في مبلغ الفاتورة.

    tip_amount = bill_amount * tip_percentage / 100

    قسّم الفاتورة والإكرامية لتحصل على مساهمة كل شخص في الاثنين

    # Calculating each person's bill contribution
    bill_contribution = bill_amount / number_of_people
    
    # Calculating each person's tip contribution
    tip_contribution = tip_amount / number_of_people

    احسب إجمالي المساهمة

    بعد ذلك ، أضف المساهمات الفردية لتحديد إجمالي المساهمة لكل شخص.

    total_contribution = bill_contribution + tip_contribution

    اعرض النتائج

    أخيرًا ، أخرج النتائج إلى المستخدم.

    # Displayinnng the results
    print("Bill contribution per person: ", bill_contribution)
    print("Tip contribution per person: ", tip_contribution)
    print("Total contribution per person: ", total_contribution)

    اختبار الإكرامية والحاسبة المنقسمة

    أخيرًا ، يجب أن يبدو ملف البرنامج النصي الخاص بك كما يلي:

    # Receiving input for bill amount as a floating point number
    bill_amount = float(input("Bill amount: ")) 
    
    # Receiving input for the tip percentage as a floating point number
    tip_percentage = float(input("Tip percentage: "))
    
    # Receiving the input for the number of people as an integer
    number_of_people = int(input("Number of people: "))
    
    tip_amount = bill_amount * tip_percentage / 100
    
    # Calculating each person's bill contribution
    bill_contribution = bill_amount / number_of_people
    
    # Calculating each person's tip contribution
    tip_contribution = tip_amount / number_of_people
    
    total_contribution = bill_contribution + tip_contribution
    
    # Displaying the results
    print("Bill contribution per person: ", bill_contribution)
    print("Tip contribution per person: ", tip_contribution)
    print("Total contribution per person: ", total_contribution)

    في هذه المرحلة ، لا تتردد في اختبار تشغيل التطبيق الخاص بك باستخدام الأمر التالي:

    python3 main.py

    بناء تلميح وتقسيم الآلة الحاسبة مع واجهة المستخدم الرسومية

    في الجزء التالي من هذا البرنامج التعليمي ، سنقوم بتنفيذ نفس التطبيق ولكن بواجهة مستخدم رسومية. لبناء واجهة المستخدم الرسومية ، سنستخدم حزمة تسمى Tkinter.

      كيفية استخدام التورنت بأمان وحماية هويتك (مراجعة 2020)

    اعداد

    Tkinter عبارة عن حزمة مضمنة في مكتبة Python القياسية. هذا يعني أنه تم تثبيته افتراضيًا عند تثبيت Python.

    ومع ذلك ، على أجهزة Linux مع تثبيت Python افتراضيًا ، لا يتم تثبيت TKinter مسبقًا لتوفير المساحة. لذلك ، تحتاج إلى تثبيته يدويًا باستخدام الأمر التالي:

    sudo apt-get install python3-tk

    قم بإنشاء ملف مشروع

    للبدء ، قم بإنشاء ملف حيث سيتم تخزين نص Python النصي. بعد إنشاء الملف ، افتحه باستخدام محرر النصوص المفضل لديك.

    touch gui.py

    استيراد Tkinter

    بعد ذلك ، قم باستيراد حزمة Tkinter عن طريق إضافة السطر التالي إلى أعلى الملف.

    import tkinter from tk

    قم بإنشاء واجهة المستخدم

    بعد ذلك ، يمكننا البدء في إنشاء واجهة المستخدم.

    # Creating the window
    window = tk.Tk()
    
    # Creating the Window title
    tk.Label(text="Tip and Split Calculator").pack()
    
    # Create an input field
    tk.Label(text="Enter bill amount").pack()
    ent_bill = tk.Entry(width=40)
    ent_bill.pack()
    
    # Create and entry for the tip percentage
    tk.Label(text="Enter tip percentage").pack()
    ent_tip = tk.Entry(width=40)
    ent_tip.pack()
    
    # Create an entry for the number of people
    tk.Label(text="Enter the number of people").pack()
    ent_people = tk.Entry(width=40)
    ent_people.pack()
    
    # Create the Enter button
    btn_enter = tk.Button(text="Enter")

    أنشأ الكود أعلاه نافذة تحتوي على جميع أدوات واجهة المستخدم. بالإضافة إلى ذلك ، فقد أنشأت تسمية ستكون بمثابة عنوان النافذة.

    بعد ذلك ، قام بإنشاء ملصقات وحقول إدخال للمدخلات الثلاثة: bill_amount و tip_percentage و number_of_people. أخيرًا ، قام بإنشاء زر ينقر عليه المستخدم لتشغيل الحساب.

    قم بإنشاء دالة لحساب النواتج

    بعد ذلك ، يمكننا إنشاء وظيفة للتعامل مع النقر فوق الزر Enter. ستأخذ هذه الوظيفة قيم حقول الإدخال وتستخدمها لحساب المخرجات باستخدام الخوارزمية المذكورة من قبل. أخيرًا ، سيتم إنشاء تسمية لعرض الإخراج وتحديث النافذة.

    def handle_click(event):
        # Collecting the inputs from the entry fields using the get method
        # Also type casting the inputs from the default string data type
        bill_amount = float(ent_bill.get())
        tip_percentage = float(ent_tip.get())
        number_of_people = int(ent_people.get())
        
        # Calcuating the amount to be paid as a tip
        tip_amount = bill_amount * tip_percentage / 100
        
        # Calculating the bill contribution of each person at the table
        bill_contribution = bill_amount / number_of_people 
    
        # Calculating the tip contribution of each person at the table
        tip_contribution = tip_amount / number_of_people
    
        # Calculating the total contribution of each person
        total_contribution = bill_contribution + tip_contribution
    
        # Creating the output string
        output = f'Bill per person: {bill_contribution} n Tip per person: {tip_contribution} n Total per person: {total_contribution}'
        
        # Creating a label for the output text
        tk.Label(text=output).pack()
    
        # Updating the window to reflect the UI changes
        window.update()

    تم شرح الكود في الوظيفة أعلاه من خلال التعليقات التي توضح كل خطوة رئيسية.

      تتبع الأطعمة التي حرقتها بمستوى نشاطك اليومي

    إرفاق “معالج الأحداث” بالزر

    بعد ذلك ، نقوم بربط معالج الحدث بحدث النقر فوق الزر. يتم تمثيل حدث النقر على الزر في Tkinter بالسلسلة ““. لربط الحدث بمعالج الحدث ، نستخدم طريقة الربط للزر. أضف هذا السطر من التعليمات البرمجية أسفل تعريف الوظيفة:

    btn_enter.bind('<Button-1>', handle_click)
    btn_enter.pack()

    أخيرًا ، للحفاظ على تشغيل النافذة ، نسمي طريقة mainloop لكائن النافذة.

    window.mainloop()

    وانتهينا!

    اختبار الإكرامية والحاسبة المنقسمة

    يمكنك تشغيل التطبيق باستخدام الأمر التالي:

    python3 gui.py

    يجب أن يفتح هذا النافذة على النحو التالي:

    يمكنك تشغيل الآلة الحاسبة بإدخال عينة:

    الكلمات الأخيرة

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

    بعد ذلك ، يمكنك التحقق من كيفية إنشاء مولد كلمة مرور عشوائي في Python.