Cómo convertir una cadena en un número entero usando Python



Este artículo le proporcionará un conocimiento detallado y completo de cómo convertir una cadena en un número entero de varias formas con ejemplos.

En este tema, aprenderíamos cómo convertir una cadena en un número entero con y sin usar el tipo de datos incorporado. Sabemos que una cadena es una colección de caracteres ordenados secuencialmente entre comillas y un número entero es un número sin puntos decimales y no entre comillas.

Cadena a python entero





Pero cuando surge la pregunta de cómo convertir un tipo de datos en otro, Python proporciona una manera fácil de convertirlos entre sí. En este caso, vemos cómo podemos convertir una cadena en un entero en el siguiente orden:

Usar tipos de datos incorporados



Supongamos que cuando tomo información del usuario por alguna razón, Python la toma y la devuelve como una cadena. En otras palabras, incluso si alguien escribe un número como entrada, Python lo devuelve como una cadena.

name = input ('¿Cuál es tu nombre?') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age))

Salida:

Cuál es tu nombre: Tyra



Tyra

cómo tomar una captura de pantalla en selenio

Cual es tu edad: 20

20

Como puede ver, el tipo de nombre y edad que se toma como entrada es 'Cadena'.

Ahora, suponga que si queremos agregar 5 a la edad, haremos lo siguiente:

name = input ('¿Cuál es tu nombre?') print (name) print (type (name)) age = input ('¿Cuál es tu edad?') print (age) print (type (age)) print (age + 5)

Salida:

Cuál es tu nombre: Tyra

Tyra

Cual es tu edad: 20

20

Rastreo (llamadas recientes más última):

Archivo 'C: /Users/prac.py', línea 9, en

imprimir (edad + 5)

TypeError: debe ser str, no int

No podemos agregar 5 a la edad porque la edad es de tipo String y no podemos hacer cálculos matemáticos directos con cadenas. Así que tenemos que cambiar la edad a un número entero porque hemos tomado la edad como entrada y Python la devuelve como Cadena.

Por lo tanto.

name = input ('¿Cuál es tu nombre?') print (name) print (type (name)) age = input ('¿Cuál es tu edad:') print (age) print (type (age)) age = int ( edad) imprimir (edad + 5)

Salida:

Cuál es tu nombre: Tyra

Tyra

Cual es tu edad: 20

20

25

Forma convencional

Supongamos que no queremos usar la función incorporada int () para convertir una cadena en un entero.Entonces tenemos que usar el forma convencional para convertir.

Aquí hay una forma sencilla de realizar la conversión sin usar int ().

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0 if input_str [0] == '-': start_idx = 1 is_negative = True else: start_idx = 0 is_negative = False para i en el rango (start_idx, len (input_str)): place = 10 ** (len (input_str) - (i + 1)) digit = ord (input_str [i]) - ord ('0') output_int + = place * digit if is_negative: return -1 * output_int else: return output_int s = '554' x = str_to_int (s) print (type (x)) s = '123' print (str_to_int (s)) s = '-123' imprimir (str_to_int (s))

Salida:

123

-123

  • Primero, verificaremos si el número proporcionado por el usuario contiene algún signo menos o no, es decir, es un número negativo o no.Si contiene en la primera posición un signo menos, comenzamos nuestra conversión desde la segunda posición que contiene números.

  • Cualquier número, digamos 123, puede escribirse en la forma:10**2 * 1 + 10**1*2 + 10**0*3

  • De manera similar, dividimos cada uno de los números de entrada usando palabra (argumento) .

  • ord ('0') devolverá 48, ord ('1') devolverá 49, etc.

  • Aquí usamos la lógica de que ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2, etc., lo que nos da el número significativo que se obtendrá del número de entrada.

  • Por último, la salida que obtenemos de la función es un entero legítimo que convertimos a partir de la cadena de entrada dada.

Entonces, como puede ver, podemos convertir cualquier cadena en entero usando la función int () o de la manera convencional.

Espero que haya aprendido bien los conceptos y, por lo tanto, lo pruebe para ser más preciso y, con esto, llegamos al final de este artículo sobre la conversión de una cadena a int usando Python.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este Tutorial de cadena a entero y nos comunicaremos con usted lo antes posible.

Para obtener un conocimiento profundo de Python junto con sus diversas aplicaciones, puede inscribirse en Live con soporte 24/7 y acceso de por vida.