Sử dụng chức năng
>>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
2:>>> format[14, '#010b']
'0b00001110'
Hàm
>>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
2 chỉ đơn giản là định dạng đầu vào theo đặc tả định dạng Ngôn ngữ mini. >>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
4 tạo định dạng bao gồm tiền tố >>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
5 và kích thước >>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
6 định dạng đầu ra để phù hợp với chiều rộng 10 ký tự, với phần đệm >>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
7; 2 ký tự cho tiền tố >>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
5, 8 ký tự cho các chữ số nhị phân.Đây là tùy chọn nhỏ gọn và trực tiếp nhất.
Nếu bạn đang đặt kết quả vào một chuỗi lớn hơn, hãy sử dụng một chuỗi theo nghĩa đen [3.6+] hoặc sử dụng
>>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
9 và đặt đối số thứ hai cho hàm >>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
2 sau đại tràng của trình giữ chỗ >>> import timeit
>>> timeit.timeit["f_[v, '#010b']", "v = 14; f_ = format"] # use a local for performance
0.40298633499332936
>>> timeit.timeit["f'{v:#010b}'", "v = 14"]
0.2850222919951193
1:>>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
Khi nó xảy ra, ngay cả khi chỉ định dạng một giá trị duy nhất [vì vậy mà không đặt kết quả vào một chuỗi lớn hơn], sử dụng một chuỗi theo nghĩa đen được định dạng nhanh hơn so với sử dụng
>>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
2:>>> import timeit
>>> timeit.timeit["f_[v, '#010b']", "v = 14; f_ = format"] # use a local for performance
0.40298633499332936
>>> timeit.timeit["f'{v:#010b}'", "v = 14"]
0.2850222919951193
Nhưng tôi chỉ sử dụng điều đó nếu hiệu suất trong một vòng lặp chặt chẽ, vì
>>> import timeit
>>> timeit.timeit["f_[v, '#010b']", "v = 14; f_ = format"] # use a local for performance
0.40298633499332936
>>> timeit.timeit["f'{v:#010b}'", "v = 14"]
0.2850222919951193
3 truyền đạt ý định tốt hơn.Nếu bạn không muốn tiền tố
>>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
5, chỉ cần thả >>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
4 và điều chỉnh độ dài của trường:>>> format[14, '08b']
'00001110'
Python Basic: Bài tập-140 với giải pháp
Viết một chương trình Python để chuyển đổi số nguyên thành nhị phân giữ các số không dẫn đầu.
Chuyển đổi một số nguyên thành số nhị phân N-bit dẫn đến biểu diễn nhị phân của nó chứa các số không dẫn lên theo chiều dài n. Ví dụ: để chuyển đổi số nguyên 5 thành kết quả nhị phân 6 bit trong 000101. Định dạng [num, name] hàm có tên là "0NB" để chuyển đổi số số nguyên thành chuỗi nhị phân với số 0 dẫn đến chiều dài n.
format[num, name] function with name as "0nb" to convert an integer num to a binary string with leading zeros up to length n.
Dữ liệu mẫu: X = 12 Đầu ra dự kiến: 00001100
Expected output : 00001100
Giải pháp mẫu:
Mã Python:
x = 12
print[format[x, '08b']]
print[format[x, '010b']]
Đầu ra mẫu:
00001100
Trực quan hóa thực thi mã Python:
Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực hiện chương trình đã nói:
Trình chỉnh sửa mã Python:
Có một cách khác để giải quyết giải pháp này? Đóng góp mã của bạn [và nhận xét] thông qua Disqus.
Trước đây: Viết chương trình Python vào địa chỉ IP hợp lệ. Write a Python program to valid a IP address.
Next: Write a python program to convert decimal to
hexadecimal.
Python: Lời khuyên trong ngày
Giải nén các biến bằng toán tử splat:
>>> def test[x, y, z]: >>> print[x, y, z] >>> res = test[*[10, 20, 30]] 10 20 30 >>> res = test[**{'x': 1, 'y': 2, 'z': 3} ] 10 20 30
Có thể cần một số với số không có số không .
Cách rõ ràng nhất để làm điều này là nối các số 0 vào một chuỗi số [để biết thêm thông tin, hãy xem kết hợp một chuỗi và số nguyên trong Python], tuy nhiên, không phải lúc nào cũng là cách hiệu quả nhất để làm điều này. Có một số phương pháp khác mà chúng tôi sẽ xem xét ở đây.
Zfill
Các chuỗi trong Python có phương pháp
>>> import timeit
>>> timeit.timeit["f_[v, '#010b']", "v = 14; f_ = format"] # use a local for performance
0.40298633499332936
>>> timeit.timeit["f'{v:#010b}'", "v = 14"]
0.2850222919951193
6 có thể được sử dụng để đệm một chuỗi với số không theo một độ dài nhất định.>>> "1".zfill[5]
'00001'
Tham số thành
>>> import timeit
>>> timeit.timeit["f_[v, '#010b']", "v = 14; f_ = format"] # use a local for performance
0.40298633499332936
>>> timeit.timeit["f'{v:#010b}'", "v = 14"]
0.2850222919951193
6 là độ dài của chuỗi bạn muốn pad, không nhất thiết là số lượng số 0 cần thêm. Vì vậy, trong ví dụ trên, nếu chuỗi của bạn đã dài 5 ký tự, nó sẽ không thêm bất kỳ số không nào.
Một vài ví dụ nữa:
>>> "1".zfill[3]
'001'
>>> "12".zfill[3]
'012'
>>> "123".zfill[3]
'123'
>>> "1234".zfill[3]
'1234'
Lưu ý rằng nếu bạn không đệm một số nguyên [và không phải là một chuỗi, như trong các ví dụ trước], trước tiên bạn sẽ cần chuyển đổi số nguyên thành một chuỗi:
>>> str[1].zfill[3]
'001'
f-strings
Nếu bạn đang sử dụng Python 3, bạn có thể sử dụng cú pháp
>>> import timeit
>>> timeit.timeit["f_[v, '#010b']", "v = 14; f_ = format"] # use a local for performance
0.40298633499332936
>>> timeit.timeit["f'{v:#010b}'", "v = 14"]
0.2850222919951193
8 để 0 PAD chuỗi của bạn. Điều này được thực hiện bằng cách sử dụng cú pháp định dạng thêm để chỉ định số lượng số 0 để thêm.>>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
0Ở đây
>>> import timeit
>>> timeit.timeit["f_[v, '#010b']", "v = 14; f_ = format"] # use a local for performance
0.40298633499332936
>>> timeit.timeit["f'{v:#010b}'", "v = 14"]
0.2850222919951193
9 chỉ định rằng chuỗi phải được đệm bằng 3 số không. Chữ số thứ hai trong đối số này tương đương với tham số >>> format[14, '08b']
'00001110'
0 trong hàm >>> import timeit
>>> timeit.timeit["f_[v, '#010b']", "v = 14; f_ = format"] # use a local for performance
0.40298633499332936
>>> timeit.timeit["f'{v:#010b}'", "v = 14"]
0.2850222919951193
6.Bạn cũng có thể nhận thấy rằng sử dụng F-String, bạn không cần phải chuyển đổi rõ ràng số nguyên của mình thành một chuỗi, điều đó sẽ làm cho bạn.
>>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format[value]
'The produced output, in binary, is: 0b00001110'
1