ตัวเลขบางตัวต้องเริ่มต้นด้วยศูนย์หรือศูนย์หลายตัว ตัวอย่างเช่น ID ผู้ใช้อาจต้องมีเลขศูนย์จำนวนหนึ่งเมื่อเริ่มต้น หากต่ำกว่าจำนวนที่กำหนด ดังนั้นหมายเลข ID ทั้งหมดจึงมีความยาวเท่ากัน
คุณสามารถใส่สตริงที่มีศูนย์โดยใช้ฟังก์ชัน zfill() คุณสามารถใส่เลขศูนย์โดยใช้การจัดรูปแบบสตริง คู่มือนี้จะอธิบายตัวอย่างวิธีการเติมศูนย์ให้เป็นสตริงและจำนวนเต็ม
Python:ใส่ค่าศูนย์เป็นสตริง
เขียนโปรแกรมที่ตรวจสอบว่าหมายเลขตั๋วจับฉลากเป็นผู้ชนะหรือไม่ หมายเลขสลากแต่ละหมายเลขประกอบด้วยสามหมายเลขดังนี้:
022
โปรแกรมของเราจะขอให้ผู้ใช้ใส่หมายเลข หากตัวเลขที่ผู้ใช้ใส่น้อยกว่า 100 ระบบจะเพิ่มศูนย์ที่จุดเริ่มต้นของตัวเลข เพื่อให้แน่ใจว่าโปรแกรมของเราสามารถเปรียบเทียบหมายเลขที่ผู้ใช้ใส่กับหมายเลขสลากที่ชนะ
เริ่มต้นด้วยการกำหนดรายการหมายเลขสลากที่ชนะ:
winners = ["033", "087", "183", "173", "012"]
หมายเลขตั๋วแต่ละหมายเลขถูกจัดรูปแบบเป็นสตริง ถัดไป ให้ผู้ใช้ใส่ตัวเลขโดยใช้วิธีการ input():
to_check = input("Insert a number that you want to check: ")
หมายเลขที่ผู้ใช้ใส่คือหมายเลขที่คุณจะพยายามหาในรายชื่อผู้ชนะ ค่านี้จัดรูปแบบเป็นสตริง
ผู้ใช้ต้องไม่ใส่ตัวเลขที่มีความยาวสามอักขระ เพื่อให้แน่ใจว่าหมายเลขหวยที่ผู้ใช้ใส่ลงในโปรแกรมมีรูปแบบที่ถูกต้อง ให้ใช้ zfill()
กระบวนการ. วิธีนี้จะเพิ่มศูนย์ที่จุดเริ่มต้นของตัวเลข
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
เนื่องจากหมายเลขสลากราฟเฟิลมีความยาวสามอักขระ คุณจะต้องใช้ค่า 3 เป็นพารามิเตอร์ด้วยเมธอด zfill()
to_check = to_check.zfill(3)
วิธีนี้จะตรวจสอบให้แน่ใจว่าค่าของ “to_check” มีรูปแบบที่ถูกต้อง ค่า 3 แสดงถึงจำนวนตัวเลขที่ควรอยู่ใน “to_check” ไม่ได้สะท้อนว่าควรเพิ่มค่าศูนย์จำนวนเท่าใด
ถัดไป ใช้คำสั่ง "if" กับตัวดำเนินการ "in" เพื่อตรวจสอบว่าค่าของ "to_check" ปรากฏในรายการหมายเลขสลากที่ชนะหรือไม่:
if to_check in winners: print("Ticket #{} is a winner.".format(to_check)) else: print("Ticket #{} is not a winner.".format(to_check))
หากสลากตรงกับหมายเลขที่ชนะ if
คำสั่งทำงาน; มิฉะนั้น else
คำสั่งทำงาน รันโค้ดและดูว่าเกิดอะไรขึ้น:
Insert a number that you want to check: 33 Ticket #033 is a winner.
รหัสของเราระบุได้สำเร็จว่าตั๋ว #033 เป็นผู้ชนะ ดูว่าเกิดอะไรขึ้นหากหมายเลขที่คุณใส่ลงในโปรแกรมไม่ตรงกับสลากที่ชนะ:
Insert a number that you want to check: 182 Ticket #182 is not a winner.
โปรแกรมแจ้งว่าตั๋วไม่ใช่ผู้ชนะ
Python:ปัดค่าศูนย์เป็นตัวเลข
หมายเหตุ:ตัวอย่างด้านล่างใช้ได้เฉพาะใน Python 2.7 และ Python เวอร์ชันที่ใหม่กว่าเท่านั้น
ในตัวอย่างแรก คุณเพิ่มค่าศูนย์เป็นค่าที่เก็บไว้เป็นสตริง หากคุณต้องการใส่เลขศูนย์ให้เป็นตัวเลข มีวิธีอื่นให้ใช้
สมมติว่าคุณกำลังสร้างรายการรหัสประจำตัวพนักงาน สิ่งเหล่านี้ใช้เพื่อระบุพนักงานแต่ละคนที่ทำงานให้กับธุรกิจ แต่ละหมายเลขประจำตัวประชาชนควรเริ่มต้นด้วยสามตัวเลขและลงท้ายด้วยนามสกุลของพนักงาน
ในการเริ่มต้น ขอให้ผู้ใช้ใส่ตัวเลขที่ควรปรากฏที่จุดเริ่มต้นของรหัสพนักงาน คุณจะต้องขอชื่อพนักงานจากผู้ใช้ด้วย:
id_numbers = int(input("Enter the ID number of the employee: ")) surname = input("Enter the surname of the employee: ")
ถัดไป จัดรูปแบบค่าเหล่านี้เป็นสตริง ใช้เมธอด .format() เพื่อทำสิ่งนี้:
print("The employee identifier for {} is {:03d}{}.".format(surname, id_numbers, surname))
วงเล็บปีกกาแสดงค่าที่จะแทนที่ในสตริงของคุณ
วงเล็บปีกกาชุดแรกจะถูกแทนที่ด้วยนามสกุลของพนักงาน วงเล็บปีกกาชุดที่สองจะถูกแทนที่ด้วยค่าของ “id_numbers” หากตัวเลขที่ผู้ใช้ใส่มีความยาวน้อยกว่าสามตัว ค่าศูนย์จะถูกเพิ่มเข้าไปในค่านี้
วงเล็บปีกกาชุดสุดท้ายแสดงถึงส่วนสุดท้ายของตัวระบุพนักงานซึ่งเป็นนามสกุล เริ่มต้นโปรแกรมของเรา:
Enter the ID number of the employee: 823 Enter the surname of the employee: SMITH The employee identifier for SMITH is 823SMITH.
โปรแกรมของเราทำงาน ในกรณีนี้ คุณได้ใส่หมายเลขประจำตัวที่มีความยาวสามหลัก มาดูกันว่าจะเกิดอะไรขึ้นหากคุณพยายามใส่หมายเลขประจำตัวที่มีความยาวเพียงสองหลัก:
Enter the ID number of the employee: 78 Enter the surname of the employee: JONES The employee identifier for JONES is 078JONES.
โปรแกรมของเรายังคงสร้างตัวระบุในรูปแบบที่อธิบายไว้ ตัวระบุแต่ละตัวมีตัวเลขสามตัวตามด้วยนามสกุลของพนักงาน
บทสรุป
คุณสามารถใช้ zfill()
วิธีการแพดศูนย์ที่ด้านหน้าของสตริง Python คุณสามารถใช้ .format()
วิธีการเติมศูนย์ให้เป็นค่าจำนวนเต็ม
ตอนนี้คุณพร้อมที่จะเพิ่มศูนย์ที่จุดเริ่มต้นของค่าใน Python เหมือนกับผู้เชี่ยวชาญ coder!