Python hex 0
Orri Ganel singxduck tại gmail. com
Thứ năm ngày 16 tháng 12 02. 44. 29 CET 2004 On Wed, 15 Dec 2004 17:47:58 -0800 (PST), Tony Cappellini <tony at tcapp.com> wrote: > > I'm trying to get Python to automatically print a leading 0 for hex > numbers, but it only > seems to work for for decimal numbers. > > print "0x%0X" % 12345 > > displays > 0x3039 > > instead of 0x03039 > > The Python docs state > The conversion will be zero padded for numeric values, when a 0 is used as > a flag between the % and the conversion type. > > Is this expected Python behaviour, or a mistake? > > Sure, I can add some code to calculate the length of the current string to > decide if a leading 0 is needed., but if I don't have to, I'd rather not. > > _______________________________________________ > Tutor maillist - Tutor at python.org > http://mail.python.org/mailman/listinfo/tutor > >>> print "0x%0X" % 12345 0x3039 >>> print "0x%0.X" % 12345 0x3039 >>> print "0x%1X" % 12345 0x3039 >>> print "0x%10X" % 12345 0x 3039 >>> print "0x%2X" % 12345 0x3039 >>> print "0x%3X" % 12345 0x3039 >>> print "0x%0.10X" % 12345 0x0000003039 >>> print "0x%0.5X" % 12345 0x03039 >>> print "0x%0.5X" % 123456 0x1E240 >>> print "0x%0X" % 123456 0x1E240 >>> print "0x%0.5X" % 2222 0x008AE >>> print "0x%0.5X" % 22222 0x056CE >>> print "0x%0.5X" % 122222 0x1DD6E Ok, so the character after the % and before the . is the padding character, and the number after the . and before the X is the minimum size for the string to be. So print "0x%0.5X" % 12345 seems to do what you want. -- Email: singingxduck AT gmail DOT com AIM: singingxduck Programming Python for the fun of it. Thông tin thêm về danh sách gửi thư Tutor Nếu bạn in một số thập lục phân, Python sử dụng tiền tố x = hex(42) print(x) # 0x2a print(x[2:]) # 2a3 để chỉ ra rằng đó là một số trong hệ thống thập lục phân chứ không phải trong hệ thống thập phân như số nguyên bình thường Show print(hex(42)) # 0x2a Tuy nhiên, nếu bạn đã biết rằng các số đầu ra là hệ thập lục phân, thì bạn không nhất thiết cần tiền tố x = hex(42) print(x) # 0x2a print(x[2:]) # 2a3 Làm cách nào để in số hex mà không có tiền tố x = hex(42) print(x) # 0x2a print(x[2:]) # 2a3? Phương pháp 1. cắt látĐể bỏ qua tiền tố, hãy sử dụng cắt và bắt đầu với chỉ mục 2 trên chuỗi thập lục phân. Ví dụ: để bỏ qua tiền tố x = hex(42) print(x) # 0x2a print(x[2:]) # 2a3 trên kết quả của x = hex(42) print(x) # 0x2a print(x[2:]) # 2a7, hãy sử dụng thao tác cắt x = hex(42) print(x) # 0x2a print(x[2:]) # 2a0 chỉ cho kết quả là số thập lục phân x = hex(42) print(x) # 0x2a print(x[2:]) # 2a1 mà không có tiền tố x = hex(42) print(x) # 0x2a print(x[2:]) # 2a3 x = hex(42) print(x) # 0x2a print(x[2:]) # 2a Vui lòng đi sâu vào chức năng tích hợp sẵn của x = hex(42) print(x) # 0x2a print(x[2:]) # 2a3 trong video hướng dẫn này Hàm hex() trong Python – Không phải là một trò ảo thuật Xem video này trên YouTube Nhưng nếu bạn thực sự muốn thay thế tiền tố x = hex(42) print(x) # 0x2a print(x[2:]) # 2a3 bằng tiền tố x = hex(42) print(x) # 0x2a print(x[2:]) # 2a5 để chuỗi kết quả có cùng độ dài thì sao? Phương pháp 2. Cắt lát + zfill()Phương thức x = hex(42) print(x) # 0x2a print(x[2:]) # 2a6 của Python điền vào chuỗi từ bên trái bằng các ký tự x = hex(42) print(x) # 0x2a print(x[2:]) # 2a7. Kết hợp với việc cắt từ ký tự thứ ba, bạn có thể dễ dàng xây dựng một chuỗi thập lục phân mà không cần đầu x = hex(42) print(x) # 0x2a print(x[2:]) # 2a3 ký tự và với đầu x = hex(42) print(x) # 0x2a print(x[2:]) # 2a7 ký tự cho đến độ dài được truyền vào phương thức print(hex(42)) # 0x2a00 print(hex(42)) # 0x2a0 Ngoài ra, nếu bạn muốn tạo một chuỗi có 8 ký tự, hãy sử dụng print(hex(42)) # 0x2a01 print(hex(42)) # 0x2a3 Bạn có thể tìm hiểu thêm về print(hex(42)) # 0x2a02 trong video này về các phương thức chuỗi Python Phương thức chuỗi Python [Hướng dẫn cơ bản] Xem video này trên YouTube Phương pháp 3. Số Hex âmNếu bạn cần xử lý các số thập lục phân âm, các phương pháp trên không hoạt động vì số hex lúc này cần thay thế ký tự thứ hai và thứ ba x = hex(42) print(x) # 0x2a print(x[2:]) # 2a3. Ví dụ: số thập lục phân print(hex(42)) # 0x2a04 là print(hex(42)) # 0x2a05. Bạn không thể đơn giản bỏ qua hai ký tự đầu tiên để có được kết quả chính xác, phải không? . Vậy lam gi? Để in một hệ thập lục phân dương hoặc âm mà không có tiền tố x = hex(42) print(x) # 0x2a print(x[2:]) # 2a3 hoặc print(hex(42)) # 0x2a07, bạn chỉ cần sử dụng phương pháp print(hex(42)) # 0x2a08 và thay thế mỗi lần xuất hiện của print(hex(42)) # 0x2a09 bằng x = hex(42) print(x) # 0x2a print(x[2:]) # 2a7. Chuỗi kết quả là chính xác về mặt toán học vì các x = hex(42) print(x) # 0x2a print(x[2:]) # 2a7 đứng đầu không thay đổi giá trị của số x = hex(42) print(x) # 0x2a print(x[2:]) # 2a2 Đi đâu từ đây?Đủ lý thuyết. Hãy thực hành một số Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì? Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không? 🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người hoàn toàn mới bắt đầu Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn Tham gia hội thảo trên web miễn phí ngay bây giờ Lập Trình Hài HướcChris Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners (NoStarch 2020), đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây |