No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Transformación de tipos

13/38
Recursos

¿Cómo transformar tipos de datos en Python de manera dinámica?

La flexibilidad de Python permite transformar tipos de datos de manera dinámica, lo que otorga un alto grado de adaptabilidad en tus programas. En esta clase aprenderemos a cambiar tipos de datos y las posibles implicaciones al hacerlo. Este conocimiento esencial te permitirá manipular datos con mayor soltura y eficacia.

¿Cómo transformar un string a otros tipos de datos?

La transformación de tipos en Python es bastante directa, gracias a su naturaleza dinámica. Vamos a crear un archivo llamado transformation.py, y usaremos una variable como ejemplo:

  1. Iniciamos con un string:

    nombre = "Nicolás"
    print(type(nombre))  # Salida: <class 'str'>
    

    Aquí, nombre es un string. Pero Python nos permite cambiar dinámicamente su tipo.

  2. Convertir un string a un entero:

    Podríamos asignar un número a la variable nombre:

    nombre = 5
    print(type(nombre))  # Salida: <class 'int'>
    

    Ahora nombre se ha convertido en un entero.

  3. Convertir un string a un booleano:

    Cambiemos nombre a un booleano:

    nombre = True
    print(type(nombre))  # Salida: <class 'bool'>
    

Python realiza esta inferencia de tipos automáticamente. No obstante, es crucial manejar este dinamismo con precaución para evitar errores inesperados.

¿Qué consideraciones tomar al concatenar tipos de datos diferentes?

La operación con diferentes tipos puede ser arriesgada si no se hace correctamente. Tomemos un string y un entero para analizar los posibles errores:

  1. Concatenación de strings:

    Al concatenar strings, el operador + los une:

    resultado = "Nicolás " + "Molina"
    # Salida: Nicolás Molina
    
  2. Suma de enteros:

    La suma entre números funciona diferente:

    suma = 10 + 20
    # Salida: 30
    
  3. Error al mezclar tipos:

    Si intentas sumar un string y un número, Python lanza un error:

    # nombre = "Nicolás" + 8  # Provoca un error
    

    Python no puede determinar si debe concatenar o sumar, por lo que una opción es convertir el número en string:

    resultado = "Nicolás " + str(8)
    # Salida: Nicolás 8
    

¿Cómo asegurar la correcta manipulación de cadenas y números en cadenas formateadas?

La función str() en Python facilita la conversión de enteros a strings, permitiendo una concatenación válida.

  1. Concatenación usando str():

    edad = 12
    print("Mi edad es " + str(edad))
    # Salida: Mi edad es 12
    
  2. Cadenas formateadas:

    Con el uso del formato f-string, esta operación se vuelve más simple y limpia:

    print(f"Mi edad es {edad}")
    # Salida: Mi edad es 12
    

    Con f-string, no es necesario utilizar str(), ya que el formato gestiona automáticamente las transformaciones necesarias.

¿Cómo podemos convertir entradas de usuario al tipo deseado?

El comando input() siempre devuelve un string. Sin embargo, para trabajar con números, hay que convertir las entradas.

  1. Obtener y transformar entrada:

    edad = int(input("Escribe tu edad: "))
    print(type(edad))  # Salida: <class 'int'>
    
  2. Predecir futuras edades:

    Podemos usar este valor para realizar operaciones matemáticas:

    print(f"Tu edad en 10 años será {edad + 10}")
    

    En este caso, se transforma el string en un entero para poder sumar.

¿Qué errores pueden surgir al transformar datos erróneos?

Al intentar transformar un string que no representa un número, Python lanza un error:

  1. Errores de transformación:

    # Entrada inválida: "Nicolás" será un problema
    edad = int("Nicolás")  # Lanza un error
    

Para manejar este tipo de errores, más adelante se verá cómo implementar mecanismos de control y validación de datos, asegurando que cada entrada sea válida antes de su transformación.

Sigue practicando y experimentando con este increíble mundo de transformaciones de tipos en Python. La clave está en comprender cómo estos pueden influir en tus programas y cómo pueden manejarse eficazmente.

Aportes 171

Preguntas 20

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Hola, un pequeño atajo para transformar directamente el input:

Aprovechando que finalizó este módulo, quiero darles un tip.

Al momento de declarar una variable o constante, agreguen el tipo de dato a la misma. Por ejemplo:

Otro ejemplo: Un función que recibe dos parámentros (num1, num2) de tipo entero, que retorna True si num1 es diferente de num2, si no se cumple esa condición entonces retorna False.

Esto se ha estado utilizado desde la versión 3.5 de Python. Ayuda sobre todo al momento en que otros leen nuestro código y crear software más profesional, también pueden crear sus tipos personalizados.

**También podemos colocar la coma para indicarle a Python que no estamos sumando si no concatenado **

EJEMPLO

    edad = int(input("Ingresa tu edad: "));
    print("Tu edad en 10 años es", edad + 10);

Resumen SM 🚀


Transformación de tipos


En python no se pueden hacer operaciones entre tipo de datos diferentes, por eso es importante transformarlos para que tengan el mismo tipo y así si se puedan operar.

  • float([numero int ó string])
  • int([numero float ó string])
  • str([numero])

By SsimorPro

La transformación de datos lo conocerás en el bajo mundo como Casteo o Casting. Dejo link para complementar clase.

https://ellibrodepython.com/casting-python

Buenas noches envió un programa que hice con lo aprendido hasta ahora mejorando el ejercicio de la clase anterior

# Nunca pares de aprender
name= input("What's your name is? ")
last_name= input ("What's you lastname is? ")
age= int(input('How old are you=> '))
age += 10
namecomp =name+" "+last_name
print(f'Hello, {namecomp}')
print(f"Your age 10 years will be {age}")



budgetJan = int(input('Income in January: '))
budgetFeb = int(input ('Income in February: '))
bubgetMar = int(input('Income in March: '))

budgetSum = budgetJan+ budgetFeb + bubgetMar
budgetProm = budgetSum / 3
print(f"{namecomp} The average of these months (Jan,Feb,Mar) is {budgetProm}")

Hola gente!
¿Quieren saber cuántas horas han vivido?
Se me ocurrió este programa con lo que vimos en clase.

### Cuántas horas has vivido

age = int(input("Hola, para saber cuántas horas has vivido por favor introduce tu edad en años: "))
horas_ano = 24*365
horas_vida = round(age*horas_ano) #La función round omite los decimales

print(f"Has vivido alrededor de {horas_vida} horas en tus {age} años")
 

Otra forma para concatenar un número es la coma.

age = 24
print("Mi edad es", age) 
my_age = input('Escribe tu edad =>')
my_age = int(my_age) # Aqui casteamos de str a int
print(f'Tu edad es {my_age}')

Trata de hacer este ejercicio en 2 líneas en vez de 3

Int

x = int(1)   # x will be 1
y = int(2.8) # y will be 2
z = int("3") # z will be 3

|
Floats:

x = float(1)     # x will be 1.0
y = float(2.8)   # y will be 2.8
z = float("3")   # z will be 3.0
w = float("4.2") # w will be 4.2

|
Strings:

x = str("s1") # x will be 's1'
y = str(2)    # y will be '2'
z = str(3.0)  # z will be '3.0'
  • Cómo convertir enteros en flotantes
    El método de Python float() le permitirá convertir los enteros en flotantes. Para utilizar esta función, añada un entero dentro del paréntesis:
float(57)
  • En este caso, 57 se convertirá en 57.0.

  • También puede utilizar esto con una variable.

  • Declaremos que f es igual a 57 y, luego, imprima el nuevo flotante:

f = 57
print(float(f))

Output
57.0

  • Utilizando la función float(), podemos convertir enteros en flotantes.
name = 'Sergio'
print(type(name))
name = 12
print(type(name))
name = True 
print(type(name))

print('Sergio' + ' Pinon')
print(10+20)
print('Sergio' + '12')

age = 12
print('mi edad es ' + str(age))
print(type(age))
print(f'Mi edad es {age}')

age = input('escribe tu edad => ')
print(type(age))
age = int(age)
print(f'Tu edad mas 10 es: {age +10}')

El int en el input, hace que el resultado sea automaticamente int.

edad = int(input('Edad: ‘))
print(type(edad))
edad += 10
print (f’Tu edad en 10 a#os sera: {edad}’)

Una forma de combinar cadenas de texto(str) con números(int) es utilizando el método format()

"Nos devuelve el tipo de dato guardado en la variable"
print(type(variable)) 

"Guardamos un string como un int"
numero1 = int(numero1) 

"Guardamos una variable como un string"
variable = str(variable) 

Adelantándome un poco a esta clase, para que puedan validar si el valor ingresado con la función input es numérico y recién realizar la conversión a entero pueden hacerlo de esta manera:

age = input("Escribe tu edad ")
print(type(age))
print(age.isnumeric())

if age.isnumeric() == True:
age = int(age)
age += 10
print(f"Tu edad en 10 años será {age}")

Qué bien que explica este profe. Me agrada

Como nota ‘cultural’, el término sumatoria es un anglicismo que se origina de sumatory. Al menos la comunidad matemática en latinoamérica no ve con buenos ojos emplear ‘sumatoria’ ya que la operación suma se define como operación binaria, por lo que toda ‘sumatoria’ es una suma y no hay por qué llamarla de otra forma. Es como decirle ‘productoria’ al producto, ‘divisoria’ a la división, etc.

Algo similar pasa cuando alguien le dice ‘grafo’ a la gráfica o ‘círculo’ a la circunferencia. :v Saludos

Transformación o Constructor.

Cuando queremos transformar un valor numérico o alfabético, lo realizamos a traves de la transformación, de allí es que podemos decir que Python es un lenguaje que está Orientada a Objetos:

  • int( ) : Construye un entero literal a través de otro litera de tipo entero, un literal flotante (elimina todos los decimales y los convierte en números enteros) o una cadena ( siempre y cuando sea de tipo entero.
  • float( ): Construye un numero flotante a partir de un literal entero.
  • str( ): Construye un literal a través de una gran cantidad de tipo de datos, incluyendo cadenas de textos, enteros y flotantes.
name = "Camilo"
print(type(name))
name = 12
print(type(name))
name = True
print(type(name))

Producción:

<class 'str'>
<class 'int'>
<class 'bool'>

Ahora como ejercicio, queremos saber nuestra edad en un determinado tiempo que le indiquemos a la computadora.

age = int(input('Escribe tu edad: '))
age2 = int(input('Escribe en cuantos años quieres saber tu edad: '))
age = age + age2
print(f'Tu edad en {age2} años será de {age} años')

Producción:

Escribe tu edad: 33
Escribe en cuantos años quieres saber tu edad: 15
Tu edad en 15 años será de 48 años

Mi aporte

Hola Les comparto una manera más sencilla de agregar los 10 años age = input('Escribe tu edad => ') print(type(age)) print(f"Tu edad en 10 años será {int(age) + 10}")
**Enteros a Flotantes y Viceversa**: \# Entero a Flotante entero = 10 flotante = float(entero) print(flotante) # 10.0 \# Flotante a Entero flotante = 3.14 entero = int(flotante) print(entero) # 3
`age = int(input('Escribe tu edad: '))` `print(f'Tu edad en 10 será: {age + 10}')`
```js age = int(input('Escribe tu edad: ')) print(f'Tu edad en 10 años será: {age + 10}') ```
Mis apuntes ![](https://static.platzi.com/media/user_upload/image-3cc7a598-20ff-4e60-830b-d4f853f0f335.jpg)
```python age = 21 print("mi edad es " + str(age)) print(f"mi edad es {age}") ```age = 21 print("mi edad es " + str(age)) print(f"mi edad es {age}")
Mis apuntes de la clase, profundicé un poco con chatGPT: ![](https://static.platzi.com/media/user_upload/Code_BTMpvH7gRt-b3edf8f3-f90a-4df6-9898-be745178cfc1.jpg)
**Errors and Exceptions:** Para cuando necesariamente deban ingresar un numero podemos usar esto: ```python while True: try: x = int(input("Ingresar tu edad: ")) break except ValueError: print("Oops! Esto no es un numero valido. Intentar de nuevo...") ```
Otra posible solución: `print(f'Tu edad en 10 años será: {int(age) + 10}')`

Hola, diferentes formas en las que se puede estructurar el código.

edad=0
edad=input("Ingrese su edad: ")
edad=int(edad)
print (type(edad))
#---------------------------------------------------
edad=input("Ingrese su edad: ")
edad=int(edad)
print (type(edad))
#---------------------------------------------------
edad=int(input("Ingrese su edad: "))
print (type(edad))
#---------------------------------------------------
print(type(int(input("Ingrese su edad: "))))

Me parece mas fácil así…
print(“Mi edad es”, age)

age: = int(input("Mi edad es: ")) print('Mi edad en 10 años es: ', age + 10 )

les recomiendo transformar los datos desde que empieza el imput, ayudaria mucho, saludos

Hola, otra forma de sumar el int
print(f’Tu edad en 10 años será {age + 10}’)

pensé que al final iba a test el mensaje de error, pero bueno. Buena la clase.

Aca esta mi respuesta

<code> Age = input('Escribe tu edad => ')
print(type(Age))
Age = int(Age)
Age += 10
print(f'Tu edad en 10 años mas {Age}')

Las f-strings, también conocidas como “Formated string literals”, son una forma de formatear cadenas en Python que se introdujo en Python 3.6. Permiten incrustar expresiones dentro de las cadenas de caracteres que serán evaluadas en tiempo de ejecución y cuyo resultado se insertará en la cadena.

age = 24
print(f"Mi edad es {age}

Acá les dejo otra manera de realizar el ejemplo brindado por Nicolas.


Así me quedó

name = "luca"
last_name = "Modrick"
age = 35
is_single = True
is_single = not is_single

print(name + last_name + str(is_single) + str(age))

logre en base a esta clase en el minuto 5:47 concatenar print cosa que me daba mucha curiosidad y en futuras practicas lo pondre a prueba, solo me falta el pequeño detalle de que al momento de ejecutar me salga con el espacio pero poco a poco se logra en hora buena por este curso. continuamos la reproduccion en el min. 5:47 para seguir aprendiendo y no desfasar del tema.

Igual se podría concatenar un texto con un número de la siguiente manera

age = 15
print( "mi edad es ", age)

Mi aporte para ahorrar una linea:

age = input("Dime tu edad: ")
print(type(age)) #esta variable es un string
print(f"Tu edad en 10 años sera: {int(age) + 10}") #se usa la funcion "int" para convertir el input en un numero entero

Excelente, name = "Andres" print(type(name)) name = 12 print(type(name)) name = True print(type(name)) print("Andres" + " Rodriguez") print(10 + 20) print("Andres" + "12") age = 12 print("Mi edad es " + str(age)) print(f"Mi edad es {age}") age = input("Escribe tu edad => ") print(type(age)) age = int(age) age += 10 print(f'tu edad en 10 años sera {age}') age = str(age)
Increíble como algo tan “simple”, sea tan importante. :)
En Python, puedes utilizar varias funciones integradas para convertir un tipo de dato en otro. A continuación, te presento algunas de estas funciones junto con ejemplos de aplicación: **int():** Convierte un valor a un entero. Ejemplo: Convertir una cadena a un entero. cadena\_numero = "123" numero\_entero = int(cadena\_numero) print(numero\_entero)  # Resultado: 123 (int) **float():** Convierte un valor a un número de punto flotante (con decimales). Ejemplo: Convertir un entero a un número de punto flotante. entero = 5 flotante = float(entero) print(flotante)  # Resultado: 5.0 (float) **str():** Convierte un valor a una cadena de caracteres. Ejemplo: Convertir un número a una cadena. numero = 42 cadena\_numero = str(numero) print(cadena\_numero)  # Resultado: "42" (str) **bool():** Convierte un valor a un booleano (True o False). Ejemplo: Convertir un número a un booleano. numero = 10 es\_mayor\_que\_cero = bool(numero > 0) print(es\_mayor\_que\_cero)  # Resultado: True (bool) **list():** Convierte un valor a una lista. Ejemplo: Convertir una cadena en una lista de caracteres. cadena = "Python" lista\_caracteres = list(cadena) print(lista\_caracteres)  # Resultado: \['P', 'y', 't', 'h', 'o', 'n'] (list)
Aquí un breve aporte de cómo se puede modificar desde el input: ![](https://static.platzi.com/media/user_upload/image-440e42a2-180e-472b-8d6b-fca5606fc1a5.jpg)![](https://static.platzi.com/media/user_upload/image-2bcd5db7-efff-450d-8c1c-f7977c34c009.jpg)
![](https://static.platzi.com/media/user_upload/image-d7d3f64e-5920-4172-93ff-628334be2f22.jpg)
Comparto la manera en la que también inserte la concatenación de string con entero. ![](https://static.platzi.com/media/user_upload/image-49672856-b97b-4776-aeda-d8d9d9501817.jpg)
como se guarda el avance de ejercicios que uno hace en replit .gracias
Hola, comparto un atajo funcional: ```python age = 22; print('Mi edad es: ', age); print(type(age)); ```
solo por curiosidad por que cuando sumo print(True + False) retorna un 1
gracias
```js edad = int(input("Digita tu edad ")) print(f"Esta es tu edad {edad} esta seria tu edad en 10 años es {edad + 10}" ) print(type(edad)) ```
estoy empezando a programar y esta clase me resulto bastante pesada. Pero esto es todos los dias . Nunca parar de aprender.
![](https://static.platzi.com/media/user_upload/imagen-307533d9-44d9-4db0-81ed-d4b0e74f2f4b.jpg)
Al realizar conversiones de tipos, es importante considerar la posibilidad de errores si los datos no son compatibles con el tipo al que estás intentando convertirlos. Ejemplo, tratar de convertir una cadena que no representa un número a un entero puede generar una excepción. Es recomendable manejar estos casos con cuidado utilizando estructuras de control como `try-except`. ```python while True: try: edad_str = input("Ingresa tu edad: ") edad_int = int(edad_str) print("Tu edad es:", edad_int) break except ValueError: print("Error: Por favor ingresa un número entero válido.") print("Gracias por ingresar tu edad") ```
Aqui la forma que utilice yo para hacer el ejercicio propuesto:print("Este es un programa simple que te permite saber los años que tendras dentro de x tiempo") edad = int(input("Introduce tu edad => "))tiempo = int(input("¿Dentro de cuantos años quieres saber la edad que tendras? => ")) print((int(edad)) + int(tiempo)) ```js print("Este es un programa simple que te permite saber los años que tendras dentro de x tiempo") edad = int(input("Introduce tu edad => ")) tiempo = int(input("¿Dentro de cuantos años quieres saber la edad que tendras? => ")) print((int(edad)) + int(tiempo)) ```
Una forma de hacerlo un poco mas rápida puede ser esta: ```js age = input("¿Cual es tu edad?: ") print(type(age)) print(f"Tu edad en 10 años será {int(age) + 10}") ```age = input("¿Cual es tu edad?: ") print(type(age)) print(f"Tu edad en 10 años será {int(age) + 10}")
```js age = int(input("Escribe tu edad =>"))+10 print(type(age)) print (f"Tu edad en 10 años sera { age}") ```age = int(input("Escribe tu edad =>"))+10print(type(age))print (f"Tu edad en 10 años sera { age}")
```python age = int(input("Escribe tu edad => ")) print(type(age)) age += 10 print(f"Tu edad en 10 años sera {age}") ```age = int(input("Escribe tu edad => "))print(type(age))age += 10print(f"Tu edad en 10 años sera {age}")
age = int(input("Escribe tu edad => ")) print(type(age)) age += 10 print(f"Tu edad en 10 años sera {age}")
age = int(input('Ingresa tu edad: ')) age += 10 print (f'En 10 años tu edad sera {age}')
```python age = int(input("Escribe tu edad => ")) + 10 #Transformamos en int y agregamos 10 años print(type(age)) print(f"Tu edad en 10 años será {age}") ```Se puede poner todo en age =
![](<age = int(input("Escribe tu edad =\> ")) + 10 #Transformamos en int y agregamos 10 años print(type(age)) print(f"Tu edad en 10 años será {age}")>)`age = int(input("Escribe tu edad => ")) + 10 #Transformamos en int y agregamos 10 años` ` print(type(age))print(f"Tu edad en 10 años será {age}")` Se puede hacer todo en la misma linea
![](https://static.platzi.com/media/user_upload/image-29a82fef-c7f1-4436-9826-a71e736a29d9.jpg) Adjunto mi solucion
```js name = "Melissa" #string print(type(name)) name = 23 #entero print(type(name)) name = True #booleano print(type(name)) #cambiar de forma dinámica el tipo de dato print("Melissa "+ "Beltran") print(10 + 25) #acá va a sumar los numeros print("Melissa"+ "24") age = 33 print("Mi edad es " + str(age)) #se usa str para transformar la edad en string para usarlo en la funcion print print(f"Mi edad es {age}") #esta es la funcion Format (f) #ahora le pedimos el valor al usuario age = input("Escribe tu edad -->") print(type(age)) #programa para sumarle 10 años a la edad #transformamos edad que era str a int para que lo pueda operar en el print age= int(age) print(f"Tu edad en 10 años será {age +10}" ) ```name = "Melissa" #string print(type(name)) name = 23 #entero print(type(name)) name = True #booleano print(type(name)) \#cambiar de forma dinámica el tipo de dato print("Melissa "+ "Beltran") print(10 + 25) #acá va a sumar los numeros print("Melissa"+ "24") age = 33 print("Mi edad es " + str(age)) \#se usa str para transformar la edad en string para usarlo en la funcion print print(f"Mi edad es {age}") \#esta es la funcion Format (f) \#ahora le pedimos el valor al usuario age = input("Escribe tu edad -->") print(type(age)) \#programa para sumarle 10 años a la edad \#transformamos edad que era str a int para que lo pueda operar en el print age= int(age) print(f"Tu edad en 10 años será {age +10}" )
name = "Melissa" #string print(type(name)) name = 23 #entero print(type(name)) name = True #booleano print(type(name)) \#cambiar de forma dinámica el tipo de dato print("Melissa "+ "Beltran") print(10 + 25) #acá va a sumar los numeros print("Melissa"+ "24") age = 33 print("Mi edad es " + str(age)) \#se usa str para transformar la edad en string para usarlo en la funcion print print(f"Mi edad es {age}") \#esta es la funcion Format (f) \#ahora le pedimos el valor al usuario age = input("Escribe tu edad -->") print(type(age)) \#programa para sumarle 10 años a la edad \#transformamos edad que era str a int para que lo pueda operar en el print age= int(age) print(f"Tu edad en 10 años será {age +10}" )
![](https://static.platzi.com/media/user_upload/image-b7a7e063-e79b-4ea1-9569-65b9c5061f39.jpg)
Aprote de mi en esta clasee ```js age = int(input("Ingrese su edad: ")) futuro = int(input("Ingrese en cuantos años quiere saber su edad: ")) print (f"Calculando lo anciano que seras en {futuro} años...") age += futuro print (f"Tu edad en {futuro} años sera {age} años") ```
Hice un ejemplo con lo que entendí y quizá ayude un poco a fortalecer su comprensión: ![](https://static.platzi.com/media/user_upload/image-87490550-db0d-4a51-b464-f41eddda9022.jpg)

int() puede transformar directamente un input, sin embargo es peligroso porque no hay espacio para un manejo de errores

age = int(input("Ingresa tu edad: "))
w
Pequeño proyecto usando lo aprendido y un poco mas. ![](https://static.platzi.com/media/user_upload/image-e6b3e829-a0c6-40a3-93e1-d9941a5a4a17.jpg)![]()

age = int (input (“Escribe tu edad:”))
print(“En 10 anos tu edad será:” , age+10)

para manipular el tipo de dato podemos simplificar la línea usando la letra f y seguido podemos encerrar el tipo de dato con { }

age = 36
print("Mi edad es:", age)
print("Mi edad es: " + str(age))
print(f"Mi edad es: {age}")
print(type(age)) # <class 'int'>
print(f"Tu edad en 10 años será: {age + 10}")

age2: int
age2 = int(input("¿Cuál es tu edad? "))
print(f"Tu edad es: {age2}")
print(type(age2)) # <class 'int'>

Me encanto la clase de transformar un numero a string o de string a numero. Es algo un poco delicado. Hay que aprender mas adelante.

sabiendo que este curso es un rediseño del anterior que estaba sigo sin entender porque siguen haciendo prácticas que no son recomendables hacer como programador, el hecho de que usen varias líneas para hacer lo que fácilmente se puede hacer en una o que no expliquen en que casos es necesario hacer los casteos es algo que no entiendo de los cursos de platzi.

¿Como puedo hacer para validar que lo ingreado por el usuario en la funcion input sea de tipo numerico? Por que si no lo validas y quieres hacer una transformacion a un int el programa genera un error.

para que se avienten hacer lo de "print(Mi edad es “+str(age)” simplemente usen esto "print(“Mi edad es " , ege)” aunque se que el objetivo de la clase es ver como es posible hacer los casteos a las variables en la practica lo que se quiere lo practico y lo rapido, entonces no le veo mucho sentido usar la forma que se ve en la clase.

Aplicando lo aprendido, cómo calcular tu edad futura en base a 2 variables ingresadas por teclado. `print ("Cual sera tu edad en un futuro")` `print("---------------------------------")` `age = input("Ingresa tu edad actual: ")` `year = input("Que año deseas conocer?: ")` `birth_year = 2023 - int(age)` `future_age = int(year) - birth_year` `print(f"En el año {year}, tu edad sera {future_age}")`
No me encanta que se sumen los años antes de la sentencia, me gusta mas que quede de manera visual lo que se hace en esa linea especificamente `age = input("Escribe tu edad =>")` `print(type(age))` `age = int(age)` `print(f"Tu edad en 10 años sera {age + 10}")`
El video del curso se queda pegado :(
![](https://static.platzi.com/media/user_upload/image-1b89daab-395a-41a7-82bd-6ec0ac73bffe.jpg)

name = "Daniel"
print(type(name))
name = 12
print(type(name))
name = True
print(type(name))

print("Daniel" + " Dobles")
print(10 +20)
age = 28
print("mi edad es: " + str(age))
print(f"mi edad es: {age}")

age = input('escribe tu edad =>')
print(type(age))
age = int(age)
age += 10
print(f'tu edad en 10 años será {age}')

py me encanta la verdad

Comparto mi aportación con un condicional de que en el input solo sea número.

print("EJERCICIO... SI QUIERES SALIR DEL PROGRAMA ESCRIBE 'salir' o 'exit'")
age = input("Escribe tu edad ")

while age.isnumeric() == False:
  print("La edad debe ser un numero")
  age = input("Escribe tu edad ")

  if age.isnumeric() == True:
    print(f"Tu edad es de {age}")
    break
  elif age == "salir" or age =="exit":
    break


Resumen

  • Función str(): transforma el valor a un string
<x = str(1) # x será '1' > 
  • Función int(): transforma un valor a un integer
<x = int(1)   # x será 1
y = int(2.8) # y será 2
z = int("3") # z será 3> 
  • En el caso de la función integer cuando transforme de un valor string a un entero, dicho valor debe ser numérico

una manera mas facil es declarar de un inicio el input en un int

edad = int (input("inserte tu edad")) #solicitamos por medio de un int al usuario su edad
futura_edad= edad+10 #creamos una varibale con el calculo
print(f"tu edad en 10 años sera {futura_edad}")

Transformaciones de tipo

Python nos permite convertir de un tipo de dato a otro tipo de dato, esto lo podemos lograr de diferentes formas.

Cambiar el tipo de dato de manera dinámica

Al reasignar el dato de una variable, Python también cambiará el tipo de dato.

name = "Nicolás"
print(type(name)) #@ <class 'str'>

name = 12
print(type(name)) #@ <class 'int'>

Convertir el tipo de dato utilizando funciones

Python tiene varias funciones que nos permiten transformar tipos de datos.

age = 12

print(type(str(age))) #@ <class 'str'>
#cambiando de forma dinamica los tipos de datos
name = "Nicolas"
print(type(name))
name = 12
print(type(name))
name = True
print(type(name))

#concatenando dos strings, int y ambos
print("Nicolas" + " Molina")
print(10 + 20)
#aca saldra un error porqueu no puede concatenar u operar dos tipos de datos diferentes
print("Nicolas" + "12")

#en este caso, convertimos la variable age, que es int, a un string, con la funcion str 
age = 12
print("Mi edad es " + str(age))

#otra forma de hacerlo, usando la funcion f y {variable}
print(f"Mi edad es {age}")

#programa para sumar edad
age = input('Escribe tu edad => ')
print(type(age))
#transoformando el input string en un integer
age = int(age)
age += 10
print(f'Tu edad en 10 años será {age}')

#<class 'int'> comando para transormar directamente el input de str a int

# Al momento de declarar una variable o constante, agreguen el tipo de dato a la misma
# Por ejemplo: name: str = 'Name', age: int = 32

#booleans
single = True
print(single)
single = False
print(single)
#operador not
single = not True
print(single)
single = not single
print(single)

La forma en que yo lo hice para ahorra lineas de código.

un script sencillo de como funciona las transformaciones

<code> 
###transformacion de datos


numero = input("Ingresa un numero: ")

numero = int(numero)

numero += 10

print(numero)

Mi aporte.

age = int(input('Mi edad es: '))
print('Mi edad en 10 años sera: ’ , age + 10 )

que le pasa a Platzy, los videos se pausan , todo se corta y no es la velocidad de internet porque puedo ver videos en otras paginas a toda resoluci’on sin problema. es algo de esta plataforma que se pega

A esta operación de transformación de datos en el mundo de la programación se le conoce como “cast” esa es la palabra que vas a escuchar cuando alguien se refiera a transformar datos, les dejo una lista de las funciones de cast que Python pone disponibles:

- **int(x):** # Convierte el valor x a un entero.
- **float(x):** # Convierte el valor x a un número de punto flotante.
- **str(x):** # Convierte el valor x a una cadena de texto.
- **bool(x):** # Convierte el valor x a un valor booleano.
- **list(x):** # Convierte el valor x en una lista.
- **tuple(x):** # Convierte el valor x en una tupla.
- **set(x):** # Convierte el valor x en un conjunto.
- **dict(x):** # Convierte el valor x en un diccionario.
- **chr(x):** # Convierte un número entero x en su representación de carácter Unicode correspondiente.
- **ord(x):** # Convierte un carácter x en su representación numérica de Unicode correspondiente.
- **complex(real, imag):** # Crea un número complejo con la parte real real y la parte imaginaria imag.
- **bytes(x):** # Convierte el valor x en un objeto de bytes inmutable.
- **bytearray(x):** # Convierte el valor x en un objeto de bytes mutable.
- **memoryview(x):** # Crea una vista de memoria del objeto x, que permite acceder a los datos en el búfer de memoria de x.
- **ascii(x):** # Devuelve una representación de escape de caracteres ASCII para la cadena x.
- **bin(x):** # Convierte un entero x a una cadena binaria.
- **oct(x):** # Convierte un entero x a una cadena octal.
- **hex(x):** # Convierte un entero x a una cadena hexadecimal.

Espero les sirva, saludos!