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

نشرت: 2023-01-06

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

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

معاينة

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

لقطة من 2023-01-05-19-30-39

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

لقطة من 2023-01-05-15-11-29

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

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

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

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

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

الخوارزمية

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

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

المتطلبات الأساسية

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

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

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

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

للبدء ، انتقل إلى مجلد فارغ في نظامك. في حالتي ، أنا أستخدم 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
لقطة من 2023-01-05-19-32-16

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

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

اعداد

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 بالسلسلة " <Button-1> ". لربط الحدث بمعالج الحدث ، نستخدم طريقة الربط للزر. أضف هذا السطر من التعليمات البرمجية أسفل تعريف الوظيفة:

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

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

 window.mainloop()

وانتهينا!

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

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

 python3 gui.py

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

لقطة من 2023-01-05-20-27-26

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

لقطة من 2023-01-05-20-29-09

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

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

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