Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python: Thêm số 0 vào đầu (Padding Zeros)

Một số số cần bắt đầu bằng số 0 hoặc nhiều số 0. Ví dụ, ID người dùng có thể cần có một số 0 nhất định ở đầu nếu nó dưới một ngưỡng nhất định để tất cả số ID có cùng độ dài.

Bạn có thể thêm số 0 vào đầu chuỗi bằng hàm zfill(). Bạn có thể thêm số 0 vào số bằng định dạng chuỗi. Hướng dẫn này đi qua ví dụ thêm số 0 vào chuỗi và số nguyên.

Python: Thêm số 0 vào đầu chuỗi

Viết chương trình kiểm tra số vé số có trúng thưởng không. Mỗi số vé chứa ba chữ số như sau:

022

Chương trình sẽ yêu cầu người dùng nhập số. Nếu số người dùng nhập nhỏ hơn 100, một số 0 sẽ được thêm vào đầu. Điều này đảm bảo chương trình so sánh được số người dùng nhập với số vé trúng thưởng.

Bắt đầu bằng cách định nghĩa danh sách số vé trúng thưởng:

winners = ["033", "087", "183", "173", "012"]

Mỗi số vé được định dạng như chuỗi. Tiếp theo, yêu cầu người dùng nhập số bằng phương thức input():

to_check = input("Insert a number that you want to check: ")

Số người dùng nhập là số bạn sẽ tìm trong danh sách trúng thưởng. Giá trị này định dạng như chuỗi.

Người dùng có thể không nhập số ba ký tự. Để đảm bảo số vé số người dùng nhập được định dạng đúng, dùng phương thức zfill(). Phương thức này thêm số 0 vào đầu số.

Vì số vé số ba ký tự, bạn dùng giá trị 3 làm tham số với phương thức zfill():

to_check = to_check.zfill(3)

Phương thức này đảm bảo giá trị "to_check" được định dạng đúng. Giá trị 3 phản ánh số chữ số nên có trong "to_check". Nó không phản ánh số lượng số 0 cần thêm.

Tiếp theo, dùng câu lệnh "if" với toán tử "in" kiểm tra giá trị "to_check" có xuất hiện trong danh sách số vé trúng thưởng không:

if to_check in winners:
    print("Ticket #{} is a winner.".format(to_check))
else:
    print("Ticket #{} is not a winner.".format(to_check))

Nếu vé tương ứng số trúng thưởng, câu lệnh if chạy; ngược lại, else chạy. Thực thi mã:

Insert a number that you want to check: 33
Ticket #033 is a winner.

Mã xác định thành công vé #033 là trúng thưởng. Xem điều gì xảy ra nếu số nhập không trúng:

Insert a number that you want to check: 182
Ticket #182 is not a winner.

Chương trình thông báo vé không trúng thưởng.

Python: Thêm số 0 vào đầu số nguyên

Lưu ý: Ví dụ dưới chỉ hoạt động trong Python 2.7 và các phiên bản sau.

Trong ví dụ đầu, bạn thêm số 0 vào giá trị lưu trữ như chuỗi. Nếu muốn thêm số 0 vào số, có cách tiếp cận khác.

Giả sử bạn đang tạo danh sách mã định danh nhân viên. Chúng dùng để nhận diện từng nhân viên làm việc cho doanh nghiệp. Mỗi số ID nên bắt đầu bằng ba số và kết thúc bằng họ nhân viên.

Đầu tiên, yêu cầu người dùng nhập số nên xuất hiện đầu ID nhân viên. Bạn cũng hỏi họ tên nhân viên:

id_numbers = int(input("Enter the ID number of the employee: "))
surname = input("Enter the surname of the employee: ")

Tiếp theo, định dạng các giá trị này thành chuỗi. Dùng phương thức .format():

print("The employee identifier for {} is {:03d}{}.".format(surname, id_numbers, surname))

Ngoặc nhọn đại diện cho giá trị thay thế trong chuỗi.

Ngoặc nhọn đầu tiên sẽ thay bằng họ nhân viên. Ngoặc nhọn thứ hai thay bằng giá trị "id_numbers". Nếu số người dùng nhập nhỏ hơn ba chữ số, số 0 sẽ được thêm vào giá trị này.

Ngoặc nhọn cuối đại diện cho phần cuối định danh nhân viên là họ của họ. Chạy chương trình:

Enter the ID number of the employee: 823
Enter the surname of the employee: SMITH
The employee identifier for SMITH is 823SMITH.

Chương trình hoạt động. Trong trường hợp này, bạn nhập ID ba chữ số. Xem điều gì xảy ra nếu nhập ID chỉ hai chữ số:

Enter the ID number of the employee: 78
Enter the surname of the employee: JONES
The employee identifier for JONES is 078JONES.

Chương trình vẫn tạo định danh theo định dạng mô tả. Mỗi định danh chứa ba số theo sau bởi họ nhân viên.

Kết luận

Bạn có thể dùng phương thức zfill() thêm số 0 vào đầu chuỗi Python. Bạn có thể dùng phương thức .format() thêm số 0 vào giá trị số nguyên.

Bây giờ bạn đã sẵn sàng thêm số 0 vào đầu giá trị trong Python như một coder chuyên nghiệp!