A diferencia de otros lenguajes de programación, Python no convierte números enteros (o números decimales - punto flotante) a texto cuando se concatenan a un string.
Afortunadamente, Python tiene una función integrada bastante útil str()
, que convertirá el argumento pasado por esta función a un string (texto).
La manera incorrecta de convertir un string a un entero en Python.
Programadores con experiencia en otros lenguajes de programación, posiblemente intenten la siguiente concatenación, la cual producirá un error:
edad = 18
string = "Hola, tengo " + edad + " años"
Puedes ejecutar este código en repl.it.
El error será el siguiente:
Traceback (most recent call last):
File "python", line 3, in <module>
TypeError: must be str, not int
Aquí, TypeError: must be str, not int
nos indica que un número entero debe de ser convertido a un string antes de intentar hacer una concatenación.
La manera correcta de convertir un string a un entero en Python.
Aquí tenemos un ejemplo sencillo de concatenación:
edad = 18
print("Hola, tengo " + str(edad) + " años")
# Salida
# Hola, tengo 18 años
Puedes ejecutar el código en repl.it.
Ejemplo de como imprimir en pantalla 1 2 3 4 5 6 7 8 9 10
usando un solo string:
resultado = ""
for i in range(1, 11):
resultado += str(i) + " "
print(resultado)
# Salida
# 1 2 3 4 5 6 7 8 9 10
Puedes ejecutar el código en repl.it.
Aquí hay una explicación paso a paso de como funciona el código anterior:
- Primero, a una variable "resultado" le asignamos un string vacío.
- Usamos un bucle for para iterar sobre una lista de números.
- La lista de números es generada con la función range().
- Aquí range(1,11) generará una lista de números del 1 al 10.
- En cada iteración del bucle for, la variable ‘i’ tomará un valor del 1 al 10.
- En la primera iteración la variable i=1, después la variable
[resultado = resultado + str(i)+“(este es un espacio)”], str(i) convierte el entero ‘i’ a un string. - Como i=1, en la primera iteración "resultado" también será resultado=1.
- El proceso continuará hasta i=10 y finalmente en el último resultado de iteración = 1 2 3 4 5 6 7 8 9 10.
- Cuando finalmente termine el bucle for e imprimamos “resultado” en pantalla, veremos en la consola el siguiente mensaje ‘1 2 3 4 5 6 7 8 9 10’.
Espero que este artículo te haya sido útil.
¡Ten un buen día programando!
Traducido del artículo de - Chris Tse - Python String to Int: How to Convert a String to an Integer in Python