วิธีสร้างเคล็ดลับและแยกเครื่องคิดเลขใน Python
เผยแพร่แล้ว: 2023-01-06มาเรียนรู้วิธีสร้างเครื่องคิดเลข Tip และ Split ใน Python
เป็นโครงการส่วนบุคคลที่ยอดเยี่ยมในการสร้างเพื่อฝึกฝนทักษะ Python ของคุณ นอกจากนี้ บทช่วยสอนนี้จะสอนวิธีสร้างแอปพลิเคชันในสองวิธี วิธีแรกเป็นเครื่องมือบรรทัดคำสั่ง และวิธีที่สองเป็นเครื่องมือ GUI
ดูตัวอย่าง
เราจะสร้างแอปพลิเคชันในสองวิธี ขั้นแรก เราจะสร้างเชลล์สคริปต์ Python อย่างง่ายที่แจ้งให้ผู้ใช้ป้อนข้อมูลและเขียนผลลัพธ์

ประการที่สอง เราจะให้โปรแกรมมีส่วนติดต่อผู้ใช้แบบกราฟิกโดยใช้ Tkinter

ข้อกำหนดของโปรแกรม
โปรแกรมได้รับสามอินพุต:
- จำนวนเงินที่เรียกเก็บ
- เปอร์เซ็นต์การให้ทิป
- จำนวนคนแชร์บิล
เมื่อใช้อินพุตเหล่านี้ โปรแกรมจะคำนวณเอาต์พุตต่อไปนี้:
- สมทบทุนของแต่ละคน
- แต่ละคนมีส่วนให้ทิป
- รวมผลงานของแต่ละคน
อัลกอริทึม
เพื่อให้บรรลุเป้าหมายนี้ เครื่องคิดเลขทิปและสปลิตจะทำตามอัลกอริทึมง่ายๆ ด้านล่าง:
- รับอินพุต
: bill_amount
,tip_percentage
,number_of_people
- คำนวณค่าทิปโดยการคูณ
amount
bill_amount
*tip_percentage / 100
- หาร
bill_amount
ด้วยnumber_of_people
เพื่อรับเงินบริจาคของแต่ละคน - หาร
tip_amount
ด้วยnumber_of_people
เพื่อรับเงินส่วนทิปของแต่ละคน - สุดท้ายเพิ่มเงินสมทบในการเรียกเก็บเงินและทิปเพื่อรับจำนวนเงินทั้งหมดที่ต้องชำระ
ข้อกำหนดเบื้องต้น
ในการทำตามบทช่วยสอนนี้ คุณควรรู้และเข้าใจภาษาโปรแกรม Python สำหรับบทช่วยสอนนี้ จำเป็นต้องมีความรู้เกี่ยวกับแนวคิดพื้นฐาน รวมถึงฟังก์ชันและคลาส
นอกจากนี้ คุณควรติดตั้ง Python ในระบบของคุณ ถ้าไม่ใช่ ให้ไปที่เว็บไซต์ Python แล้วดาวน์โหลด อีกทางเลือกหนึ่ง Geekflare มีคอมไพเลอร์ Python ออนไลน์ซึ่งคุณสามารถรันโค้ด Python ของคุณในเบราว์เซอร์โดยไม่ต้องตั้งค่าสภาพแวดล้อมเลย
สร้างเครื่องคิดเลขด้วยอินเทอร์เฟซบรรทัดคำสั่ง
สร้างโฟลเดอร์โครงการ
ในการเริ่มต้น ให้ไปที่โฟลเดอร์ว่างในระบบของคุณ ในกรณีของฉัน ฉันใช้ Ubuntu 22.04 ดังนั้นเพื่อสร้างโฟลเดอร์และนำทางไปยังโฟลเดอร์นั้นโดยใช้เทอร์มินัล ฉันต้องป้อนคำสั่งต่อไปนี้:
mkdir tip-calculator && cd tip-calculator
สร้างไฟล์ Python
จากนั้นสร้างไฟล์สคริปต์ที่เราจะเขียนสคริปต์ 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

สร้างเคล็ดลับและเครื่องคิดเลขแยกด้วย GUI
ในส่วนถัดไปของบทช่วยสอนนี้ เราจะใช้แอปพลิเคชันเดียวกันแต่มีส่วนติดต่อผู้ใช้แบบกราฟิก ในการสร้าง GUI เราจะใช้แพ็คเกจที่เรียกว่า Tkinter
การตั้งค่า
Tkinter เป็นแพ็คเกจที่สร้างขึ้นใน Standard Library ของ 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")
โค้ดด้านบนสร้างหน้าต่างที่มีวิดเจ็ต User Interface ทั้งหมด นอกจากนี้ยังสร้างป้ายกำกับที่จะใช้เป็นชื่อเรื่องของหน้าต่าง
จากนั้น สร้างป้ายกำกับและฟิลด์ป้อนข้อมูลสำหรับอินพุตสามรายการ: 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
ควรเปิดหน้าต่างดังนี้:

คุณสามารถเรียกใช้เครื่องคิดเลขด้วยอินพุตตัวอย่าง:

คำสุดท้าย
ในบทช่วยสอนนี้ เราสร้างทิปและเครื่องคิดเลขแบบแยกออกเป็นสองวิธี ครั้งแรกใช้เครื่องมือ CLI ที่ใช้เทอร์มินัล ประการที่สองคือเครื่องมือ GUI โดยใช้ Tkinter ของ Python บทช่วยสอนนี้แสดงวิธีสร้างโปรเจ็กต์ Python อย่างง่าย หากคุณต้องการปัดฝุ่นหรือขัดเกลาทักษะ Python ของคุณ นี่คือหลักสูตร Datacamp
ต่อไป คุณสามารถดูวิธีสร้างตัวสร้างรหัสผ่านแบบสุ่มใน Python