Conversi贸n de Int a String en Python con ceros a la izquierda

Rate this post

Para convertir un n煤mero entero i en una cadena con ceros a la izquierda de forma que est茅 formada por 5 caracteres, utiliza la cadena literal de formato f'{i:05d}'. El indicador d en esta expresi贸n define que el resultado es un valor decimal. Con str(i).zfill(5) se consigue la misma conversi贸n de cadena a un entero con ceros a la izquierda.

Conversi贸n de Int a String en Python con ceros a la izquierda

Desaf铆o: Dado un n煤mero entero. C贸mo convertirlo en una cadena a帽adiendo ceros a la izquierda para que la cadena tenga un n煤mero fijo de posiciones.

Ejemplo: Para el n煤mero entero 42, quieres rellenarlo con ceros a la izquierda hasta conseguir la siguiente cadena de 5 caracteres: '00042'.

En todos los m茅todos, suponemos que el entero tiene menos de 5 caracteres.

M茅todo 1: Cadena de formato

El primer m茅todo utiliza la funci贸n de cadena literal de formato de Python 3+. Tambi茅n se llaman campos de reemplazo.

# Integer value to be converted
i = 42


# Method 1: Format String
s1 = f'{i:05d}'
print(s1)
# 00042

El c贸digo f'{i:05d}' coloca el n煤mero entero i en la cadena reci茅n creada. Sin embargo, le indica al lenguaje de formato que rellene la cadena hasta 5 caracteres con "0" a la izquierda, utilizando el sistema decimal. Esta es la forma m谩s pit贸nica de lograr este desaf铆o.

M茅todo 2: zfill()

Otra forma legible y pit贸nica de rellenar la cadena con 0 a la izquierda es el m茅todo string.zfill().

# Method 2: zfill()
s2 = str(i).zfill(5)
print(s2)
# 00042

El m茅todo acepta un argumento, que es el n煤mero de posiciones de la cadena resultante. Por defecto, se rellena con 0.

Python How to Pad Zeros to a String?

M茅todo 3: Comprensi贸n de listas

Muchos programadores de Python no acaban de entender las cadenas-f y el m茅todo zfill() que se muestran en los m茅todos 2 y 3. Si no tienes tiempo para aprenderlos, tambi茅n puedes utilizar una forma m谩s est谩ndar basada en la concatenaci贸n de cadenas y la comprensi贸n de listas.

# Method 3: List Comprehension
s3 = str(i)
n = len(s3)
s3 = '0' * (5-len(s3)) + s3
print(s3)

Primero conviertes el entero en una cadena b谩sica. Luego, creas el prefijo de 0 que necesitas para rellenarlo hasta n=5 caracteres y concatenarlo a la representaci贸n de cadena del n煤mero entero. El operador de asterisco crea aqu铆 una cadena de ceros de 5-len(s3).

A d贸nde ir desde aqu铆

Suficiente teor铆a. 隆Vamos a practicar un poco!

Los programadores cobran seis cifras y m谩s porque pueden resolver problemas de forma m谩s eficaz utilizando la inteligencia de las m谩quinas y la automatizaci贸n. Para tener m谩s 茅xito como programador, resuelve m谩s problemas reales para personas reales. As铆 es como se pulen las habilidades que realmente necesitas en la pr谩ctica. After all, what鈥檚 the use of learning theory that nobody ever needs?

隆Desarrollar谩s destrezas de programaci贸n de alto valor al trabajar en proyectos pr谩cticos de programaci贸n!

驴Quieres dejar de aprender con proyectos de juguete y centrarte en proyectos pr谩cticos de c贸digo que te hagan ganar dinero y resuelvan problemas reales para la gente?

Si tu respuesta es S脥, considera la posibilidad de convertirte en un desarrollador freelance de Python. It鈥檚 the best way of approaching the task of improving your Python skills鈥攅ven if you are a complete beginner.

Join my free webinar 鈥淗ow to Build Your High-Income Skill Python鈥 and watch how I grew my coding business online and how you can, too鈥攆rom the comfort of your own home.

Join the free webinar now!

Author of Original English Post

Source: Python Int to String with Leading Zeros

Chris

Mientras trabajaba como investigador en sistemas distribuidos, el Dr. Christian Mayer encontr贸 su amor por la ense帽anza de estudiantes de inform谩tica.

Para ayudar a los estudiantes a alcanzar niveles m谩s altos de 茅xito en Python, fund贸 el sitio web de educaci贸n de programaci贸n Finxter.com. He鈥檚 author of the popular programming book Python One-Liners (NoStarch 2020), coauthor of the Coffee Break Python series of self-published books, computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.Sus grandes pasiones son la escritura, la lectura, la seguridad de sistemas y su familia. Nuestra pasi贸n es enfocarnos en las necesidades de nuestros clientes y ayudarlos a conseguir sus retos. Puede leerlo aqu铆.