Tipos de datos en Python: int, float, str, bool y conversiones

Aprendé los tipos de datos básicos en Python: int, float, str, bool y None. Cómo usar type(), convertir valores y evitar errores comunes.

Cuando empezamos a programar en Python, uno de los conceptos más importantes es entender que cada valor tiene un tipo de dato. Ese tipo determina qué representa el valor, qué operaciones podemos hacer con él y cómo se comporta dentro del programa.

En esta guía vamos a repasar los principales tipos de datos básicos de Python: int, float, str, bool y None. También veremos cómo identificarlos, convertirlos y evitar errores frecuentes.

Idea clave: Python utiliza tipado dinámico. No necesitamos declarar explícitamente el tipo de una variable antes de usarla, pero eso no significa que los tipos no existan. Cada valor sigue teniendo un tipo concreto.

¿Qué es un tipo de dato?

Un tipo de dato indica qué clase de información estamos almacenando.

edad = 30
precio = 1250.50
nombre = "Ana"
activo = True

En este ejemplo:

  • edad contiene un número entero;
  • precio contiene un número decimal;
  • nombre contiene texto;
  • activo contiene un valor lógico.

¿Por qué existen distintos tipos de datos?

Clasificar los datos no es solamente una cuestión de organización. La computadora necesita saber cómo interpretar y manipular la información que guarda en memoria.

Por ejemplo, estos dos valores se parecen visualmente:

edad = 25
texto = "25"

Sin embargo, para Python no representan lo mismo. edad es un número entero y puede participar directamente en operaciones matemáticas. texto es una cadena formada por caracteres.

Los tipos de datos son importantes principalmente por tres motivos:

  • Representación en memoria: cada tipo necesita una forma determinada de representar la información internamente.
  • Operaciones permitidas: Python necesita saber qué operaciones tienen sentido para cada valor. Sumar números no significa lo mismo que concatenar texto.
  • Uso de recursos: diferentes tipos y valores pueden requerir distinta cantidad de memoria y diferente trabajo de procesamiento.

En lenguajes de más bajo nivel, como C, elegir un tipo suele estar directamente relacionado con reservar una cantidad determinada de memoria. En Python esta administración es más abstracta y automática: los valores son objetos y el intérprete se ocupa de gran parte de la gestión de memoria.

Por eso no conviene pensar que un int de Python siempre ocupa una cantidad fija de bytes. El consumo real depende de la implementación de Python, del valor almacenado y de otros detalles internos.

Lo importante al comenzar es comprender que el tipo le indica a Python qué clase de dato tiene delante, cómo debe interpretarlo y qué puede hacer con él.

1. int: números enteros

El tipo int representa números enteros, positivos o negativos, sin parte decimal.

edad = 25
cantidad = 10
temperatura = -3

Podemos realizar operaciones matemáticas normalmente:

a = 10
b = 3

print(a + b)
print(a - b)
print(a * b)
print(a // b)
print(a % b)

La división entera // descarta la parte decimal y % devuelve el resto.

2. float: números decimales

El tipo float representa números con parte decimal.

precio = 1499.99
altura = 1.78
promedio = 8.5

Podemos combinar enteros y decimales:

cantidad = 3
precio = 250.50

total = cantidad * precio

print(total)

El resultado será un float.

3. str: cadenas de texto

El tipo str se utiliza para almacenar texto.

nombre = "Club Programador"
lenguaje = 'Python'

Podemos concatenar cadenas:

nombre = "Ana"
apellido = "Perez"

nombre_completo = nombre + " " + apellido

print(nombre_completo)

También podemos repetir texto:

print("Hola " * 3)

Y acceder a caracteres mediante índices:

texto = "Python"

print(texto[0])
print(texto[1])

Recordá que en Python los índices comienzan en 0.

4. bool: verdadero o falso

El tipo bool solamente puede tener dos valores:

True
False

Es fundamental para condiciones y comparaciones:

edad = 20
es_mayor = edad >= 18

print(es_mayor)

El resultado será:

True

Los valores booleanos suelen aparecer directamente dentro de estructuras if y while.

5. None: ausencia de valor

None representa la ausencia de un valor.

resultado = None

print(resultado)

No significa cero ni una cadena vacía. Es un valor especial que indica que todavía no existe un dato útil o que una función no devolvió un resultado concreto.

Cómo saber el tipo de un dato con type()

Python incluye la función type().

edad = 30
precio = 10.5
nombre = "Python"
activo = True

print(type(edad))
print(type(precio))
print(type(nombre))
print(type(activo))

El resultado será similar a:

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

Python tiene tipado dinámico

En Python una variable puede apuntar a valores de distintos tipos durante la ejecución.

dato = 10
print(type(dato))

dato = "Hola"
print(type(dato))

Primero dato contiene un entero y luego una cadena.

Esto da flexibilidad, pero también exige prestar atención a los tipos que estamos utilizando.

input() siempre devuelve texto

Este punto es especialmente importante para quienes recién empiezan.

edad = input("Ingrese su edad: ")

print(type(edad))

Aunque el usuario escriba 25, la variable será de tipo str.

Para trabajar matemáticamente con ese valor debemos convertirlo:

edad = int(input("Ingrese su edad: "))

Conversión de tipos

Python permite convertir valores mediante funciones incorporadas.

Convertir a int

texto = "25"
numero = int(texto)

print(numero)
print(type(numero))

Convertir a float

texto = "10.75"
precio = float(texto)

print(precio)

Convertir a str

edad = 30
mensaje = "Tengo " + str(edad) + " anios"

print(mensaje)

Convertir a bool

print(bool(1))
print(bool(0))
print(bool("Hola"))
print(bool(""))

En estos ejemplos, 1 y una cadena con contenido se consideran verdaderos, mientras que 0 y una cadena vacía se consideran falsos.

Conversión implícita y explícita

Python puede realizar algunas conversiones automáticamente.

entero = 10
decimal = 2.5

resultado = entero + decimal

print(resultado)
print(type(resultado))

El entero se combina con el decimal y el resultado es un float.

En cambio, cuando escribimos nosotros la conversión usamos una conversión explícita:

edad = int("25")

Errores comunes al convertir datos

No todos los textos se pueden convertir a número.

numero = int("hola")

Este código genera un ValueError, porque la palabra "hola" no representa un número entero.

También debemos distinguir enteros de decimales:

numero = int("10.5")

Esto también genera error.

Una opción correcta sería:

numero = float("10.5")

Operaciones que dependen del tipo

El mismo operador puede comportarse de forma diferente dependiendo del tipo.

print(2 + 3)
print("2" + "3")

El resultado será:

5
23

En el primer caso Python suma números. En el segundo concatena cadenas.

Comparar distintos tipos

Antes de comparar valores conviene asegurarse de que representen el mismo tipo de información.

edad = input("Ingrese su edad: ")

if int(edad) >= 18:
    print("Mayor de edad")

Sin la conversión, estaríamos intentando comparar texto con un número.

Ejercicio 1: mostrar el tipo de diferentes variables

nombre = "Lucas"
edad = 22
altura = 1.80
estudia = True

print(type(nombre))
print(type(edad))
print(type(altura))
print(type(estudia))

Ejercicio 2: calcular la edad el próximo año

edad = int(input("Ingrese su edad: "))

edad_proxima = edad + 1

print("El proximo anio tendra", edad_proxima)

Ejercicio 3: calcular el total de una compra

precio = float(input("Ingrese el precio: "))
cantidad = int(input("Ingrese la cantidad: "))

total = precio * cantidad

print("Total:", total)

Ejercicio 4: convertir un número a texto

numero = 100

mensaje = "El valor es " + str(numero)

print(mensaje)

Ejercicio 5: comparar dos edades

edad1 = int(input("Ingrese la primera edad: "))
edad2 = int(input("Ingrese la segunda edad: "))

if edad1 > edad2:
    print("La primera persona es mayor")
elif edad2 > edad1:
    print("La segunda persona es mayor")
else:
    print("Tienen la misma edad")

Ejercicio 6: convertir temperatura

Convertimos grados Celsius a Fahrenheit.

celsius = float(input("Ingrese grados Celsius: "))

fahrenheit = celsius * 9 / 5 + 32

print("Fahrenheit:", fahrenheit)

Ejercicio 7: comprobar si una cadena está vacía

texto = input("Ingrese un texto: ")

if bool(texto):
    print("La cadena tiene contenido")
else:
    print("La cadena esta vacia")

Ejercicio 8: trabajar con None

resultado = None

if resultado is None:
    print("Todavia no existe un resultado")

Para comparar con None normalmente utilizamos is None.

Ejercicio 9: detectar el tipo de un resultado

a = 10
b = 4

resultado = a / b

print(resultado)
print(type(resultado))

La división con / devuelve un float.

Ejercicio 10: pedir nombre y edad

nombre = input("Ingrese su nombre: ")
edad = int(input("Ingrese su edad: "))

print("Nombre:", nombre)
print("Edad:", edad)
print("Tipo del nombre:", type(nombre))
print("Tipo de la edad:", type(edad))

Resumen de tipos básicos

Tipo Ejemplo Uso
int 25 Números enteros
float 10.5 Números decimales
str "Python" Texto
bool True Valores lógicos
NoneType None Ausencia de valor

Qué conviene recordar

  • Python tiene tipado dinámico.
  • Cada valor sigue teniendo un tipo.
  • type() permite inspeccionar ese tipo.
  • input() devuelve siempre una cadena.
  • int(), float(), str() y bool() permiten realizar conversiones.
  • No todas las conversiones son válidas.
  • El comportamiento de una operación puede depender del tipo de dato.
  • None representa ausencia de valor.

Próximo paso: listas en Python

Una vez comprendidos los tipos de datos básicos, el siguiente paso es aprender a almacenar varios valores dentro de una misma estructura. Para eso vamos a trabajar con listas en Python, recorriéndolas, modificándolas, buscando elementos y resolviendo ejercicios prácticos.

Seguí aprendiendo Python

Si querés volver a una colección general de práctica, podés revisar los 20 ejercicios resueltos de Python para principiantes.

El siguiente paso de la ruta es aprender a controlar el flujo del programa:

Condicionales y ciclos en Python: 20 ejercicios resueltos →

Ver la ruta completa de Python →


¿Te sirvió esta guía? ☕

Si este contenido te ayudó a entender mejor Python, podés apoyar a Club Programador. Cada aporte ayuda a mantener el sitio online y a seguir publicando material gratuito.

🇦🇷 Apoyar desde Argentina

☕ Invitame un café con Mercado Pago

🌎 Apoyar desde otro país

☕ Apoyar con PayPal

Condicionales y ciclos en Python: 20 ejercicios resueltos

Aprendé condicionales y ciclos en Python con 20 ejercicios resueltos usando if, elif, else, while, for, range y operadores lógicos.

Los condicionales y los ciclos son dos de las estructuras más importantes de cualquier lenguaje de programación. Con ellos podemos tomar decisiones, repetir tareas y construir programas que reaccionan a distintas situaciones.

En esta guía vamos a practicar condicionales y ciclos en Python mediante ejemplos claros y ejercicios resueltos paso a paso. Trabajaremos con if, elif, else, while, for, range() y operadores lógicos.

Idea clave: los condicionales sirven para decidir qué camino seguir y los ciclos sirven para repetir acciones. En la mayoría de los programas reales ambas estructuras aparecen combinadas.

Condicionales en Python

La estructura básica utiliza if:

edad = 20

if edad >= 18:
    print("Es mayor de edad")

Podemos agregar una alternativa con else:

if edad >= 18:
    print("Es mayor de edad")
else:
    print("Es menor de edad")

Y si necesitamos evaluar varias condiciones, podemos utilizar elif:

nota = 8

if nota >= 7:
    print("Aprobado")
elif nota >= 4:
    print("Recupera")
else:
    print("Desaprobado")

Operadores de comparación

  • == igual a
  • != distinto de
  • > mayor que
  • < menor que
  • >= mayor o igual que
  • <= menor o igual que

Operadores lógicos

  • and: ambas condiciones deben cumplirse.
  • or: alcanza con que una condición se cumpla.
  • not: invierte un valor lógico.
edad = 25
tiene_documento = True

if edad >= 18 and tiene_documento:
    print("Puede ingresar")

Ciclo while

while repite un bloque mientras una condición sea verdadera.

contador = 1

while contador <= 5:
    print(contador)
    contador += 1

Ciclo for

for se utiliza para recorrer secuencias o rangos de valores.

for numero in range(1, 6):
    print(numero)

range(1, 6) genera los valores 1, 2, 3, 4 y 5. El límite final no se incluye.

¿Cuándo usar for y cuándo while?

Como regla general:

  • usá for cuando sabés cuántas veces querés repetir algo o cuando recorrés una colección;
  • usá while cuando la repetición depende de una condición y no sabés de antemano cuántas iteraciones habrá.

Índice de ejercicios

  1. Mayor de edad
  2. Positivo, negativo o cero
  3. Mayor de tres números
  4. Año bisiesto
  5. Validar contraseña
  6. Tabla de multiplicar
  7. Suma del 1 hasta N
  8. Contar números pares
  9. Sumar solo positivos
  10. Ingresar números hasta escribir 0
  11. Intentos de contraseña
  12. Adivinar un número
  13. Mostrar múltiplos
  14. Contar vocales
  15. Menú repetitivo
  16. Promedio con valor de corte
  17. Número primo
  18. Serie de Fibonacci
  19. Máximo de una secuencia
  20. Mini sistema con menú

1. Mayor de edad

edad = int(input("Ingrese su edad: "))

if edad >= 18:
    print("Es mayor de edad")
else:
    print("Es menor de edad")

2. Positivo, negativo o cero

numero = float(input("Ingrese un numero: "))

if numero > 0:
    print("Es positivo")
elif numero < 0:
    print("Es negativo")
else:
    print("Es cero")

3. Mayor de tres números

a = float(input("Ingrese el primer numero: "))
b = float(input("Ingrese el segundo numero: "))
c = float(input("Ingrese el tercer numero: "))

mayor = a

if b > mayor:
    mayor = b

if c > mayor:
    mayor = c

print("El mayor es:", mayor)

4. Año bisiesto

anio = int(input("Ingrese un anio: "))

if anio % 400 == 0 or (anio % 4 == 0 and anio % 100 != 0):
    print("Es bisiesto")
else:
    print("No es bisiesto")

5. Validar contraseña

clave = input("Ingrese la clave: ")

if clave == "python123":
    print("Acceso permitido")
else:
    print("Clave incorrecta")

6. Tabla de multiplicar

numero = int(input("Ingrese un numero: "))

for i in range(1, 11):
    print(numero, "x", i, "=", numero * i)

7. Suma del 1 hasta N

n = int(input("Ingrese un numero positivo: "))
suma = 0

for i in range(1, n + 1):
    suma += i

print("Resultado:", suma)

8. Contar números pares

cantidad = 0

for numero in range(1, 21):
    if numero % 2 == 0:
        cantidad += 1

print("Cantidad de pares:", cantidad)

9. Sumar solo positivos

suma = 0

for i in range(5):
    numero = float(input("Ingrese un numero: "))

    if numero > 0:
        suma += numero

print("Suma de positivos:", suma)

10. Ingresar números hasta escribir 0

suma = 0
numero = float(input("Ingrese un numero (0 para terminar): "))

while numero != 0:
    suma += numero
    numero = float(input("Ingrese otro numero (0 para terminar): "))

print("Suma total:", suma)

11. Intentos de contraseña

clave_correcta = "python123"
intentos = 0
acceso = False

while intentos < 3 and not acceso:
    clave = input("Ingrese la clave: ")

    if clave == clave_correcta:
        acceso = True
    else:
        intentos += 1

if acceso:
    print("Acceso permitido")
else:
    print("Cuenta bloqueada")

12. Adivinar un número

secreto = 7
numero = None

while numero != secreto:
    numero = int(input("Adivine el numero: "))

    if numero < secreto:
        print("El numero secreto es mayor")
    elif numero > secreto:
        print("El numero secreto es menor")

print("Correcto")

13. Mostrar múltiplos de un número

numero = int(input("Ingrese un numero: "))
limite = int(input("Ingrese un limite: "))

for valor in range(numero, limite + 1, numero):
    print(valor)

14. Contar vocales

texto = input("Ingrese un texto: ")
cantidad = 0

for caracter in texto.lower():
    if caracter in "aeiou":
        cantidad += 1

print("Cantidad de vocales:", cantidad)

15. Menú repetitivo

opcion = 0

while opcion != 3:
    print("")
    print("1. Saludar")
    print("2. Mostrar mensaje")
    print("3. Salir")

    opcion = int(input("Seleccione una opcion: "))

    if opcion == 1:
        print("Hola")

    elif opcion == 2:
        print("Bienvenido a Club Programador")

    elif opcion == 3:
        print("Hasta luego")

    else:
        print("Opcion invalida")

16. Promedio con valor de corte

Ingresamos notas hasta escribir -1.

suma = 0
cantidad = 0

nota = float(input("Ingrese una nota (-1 para terminar): "))

while nota != -1:
    suma += nota
    cantidad += 1

    nota = float(input("Ingrese otra nota (-1 para terminar): "))

if cantidad > 0:
    promedio = suma / cantidad
    print("Promedio:", promedio)
else:
    print("No se ingresaron notas")

17. Número primo

numero = int(input("Ingrese un numero: "))

es_primo = numero >= 2
divisor = 2

while divisor * divisor <= numero and es_primo:
    if numero % divisor == 0:
        es_primo = False
    else:
        divisor += 1

if es_primo:
    print("Es primo")
else:
    print("No es primo")

18. Serie de Fibonacci

cantidad = int(input("Cantidad de terminos: "))

a = 0
b = 1

for i in range(cantidad):
    print(a)

    siguiente = a + b
    a = b
    b = siguiente

19. Máximo de una secuencia

cantidad = int(input("Cuantos numeros desea ingresar: "))

if cantidad > 0:
    mayor = float(input("Ingrese el primer numero: "))

    for i in range(1, cantidad):
        numero = float(input("Ingrese otro numero: "))

        if numero > mayor:
            mayor = numero

    print("El mayor es:", mayor)
else:
    print("La cantidad debe ser mayor que cero")

20. Mini sistema con menú

Combinamos condicionales y ciclos en un pequeño programa interactivo.

opcion = 0

while opcion != 4:
    print("")
    print("=== CLUB PROGRAMADOR ===")
    print("1. Par o impar")
    print("2. Tabla de multiplicar")
    print("3. Contar del 1 al 5")
    print("4. Salir")

    opcion = int(input("Seleccione una opcion: "))

    if opcion == 1:
        numero = int(input("Ingrese un numero: "))

        if numero % 2 == 0:
            print("Es par")
        else:
            print("Es impar")

    elif opcion == 2:
        numero = int(input("Ingrese un numero: "))

        for i in range(1, 11):
            print(numero, "x", i, "=", numero * i)

    elif opcion == 3:
        for i in range(1, 6):
            print(i)

    elif opcion == 4:
        print("Programa finalizado")

    else:
        print("Opcion invalida")

Errores comunes con condicionales y ciclos

  • Confundir = con ==: el primero asigna, el segundo compara.
  • Olvidar los dos puntos: estructuras como if, for y while terminan con :.
  • Indentación incorrecta: las instrucciones que pertenecen a una estructura deben estar indentadas.
  • Ciclo infinito: en un while asegurate de que en algún momento cambie la condición.
  • Error en range(): recordá que el valor final no se incluye.

Cómo practicar

Una buena forma de aprender es modificar estos ejercicios. Podés:

  • agregar validaciones;
  • cambiar los límites de los ciclos;
  • combinar dos ejercicios;
  • crear nuevas opciones en los menús;
  • intentar resolver cada ejercicio antes de mirar la solución.

Próximo paso: listas en Python

Una vez dominados condicionales y ciclos, el siguiente paso natural es trabajar con colecciones de datos. En la próxima guía vamos a profundizar en listas en Python con ejercicios resueltos.

Seguí aprendiendo Python

Antes de seguir, podés repasar tipos de datos y conversiones en Python.

Cuando ya dominás decisiones y repeticiones, el siguiente paso es trabajar con colecciones:

Listas en Python: 20 ejercicios resueltos paso a paso →

Ver la ruta completa de Python


¿Te sirvió esta guía? ☕

Si estos ejercicios te ayudaron a aprender Python, podés apoyar a Club Programador. Cada aporte ayuda a mantener el sitio online y a seguir publicando material gratuito.

🇦🇷 Apoyar desde Argentina

☕ Invitame un café con Mercado Pago

🌎 Apoyar desde otro país

☕ Apoyar con PayPal

20 ejercicios resueltos de Python para principiantes

20 ejercicios resueltos de Python para principiantes con variables, condicionales, ciclos, cadenas, listas, búsquedas, funciones y un mini menú interactivo.

Después de aprender los conceptos básicos de Python y ver cómo traducir algoritmos desde PSeInt, llega el momento de resolver problemas directamente en Python.

En esta guía vas a encontrar 20 ejercicios resueltos de Python para principiantes, ordenados de menor a mayor dificultad. La idea es practicar entrada y salida de datos, condicionales, ciclos, cadenas, listas y funciones sin depender ya del pseudocódigo.

Antes de empezar: recordá que input() devuelve texto, que las listas comienzan en la posición 0 y que la indentación forma parte de la sintaxis de Python.

Índice de ejercicios

  1. Hola mundo y entrada de datos
  2. Sumar dos números
  3. Número par o impar
  4. Mayor de dos números
  5. Positivo, negativo o cero
  6. Promedio de notas
  7. Tabla de multiplicar
  8. Suma de 1 hasta N
  9. Factorial
  10. Número primo
  11. Contar vocales
  12. Invertir una cadena
  13. Mayor valor de una lista
  14. Promedio de una lista
  15. Buscar un valor en una lista
  16. Contar pares e impares
  17. Eliminar duplicados
  18. Ordenar una lista
  19. Función para calcular un área
  20. Mini menú interactivo

1. Hola mundo y entrada de datos

Pedimos el nombre del usuario y mostramos un saludo personalizado.

nombre = input("Ingrese su nombre: ")
print("Hola", nombre)

2. Sumar dos números

Como input() devuelve texto, convertimos los valores a número antes de sumarlos.

numero1 = float(input("Ingrese el primer numero: "))
numero2 = float(input("Ingrese el segundo numero: "))

resultado = numero1 + numero2

print("Resultado:", resultado)

3. Número par o impar

Utilizamos el operador módulo % para conocer el resto de una división.

numero = int(input("Ingrese un numero entero: "))

if numero % 2 == 0:
    print("El numero es par")
else:
    print("El numero es impar")

4. Mayor de dos números

a = float(input("Ingrese el primer numero: "))
b = float(input("Ingrese el segundo numero: "))

if a > b:
    print("El mayor es", a)
elif b > a:
    print("El mayor es", b)
else:
    print("Los dos numeros son iguales")

5. Positivo, negativo o cero

numero = float(input("Ingrese un numero: "))

if numero > 0:
    print("Es positivo")
elif numero < 0:
    print("Es negativo")
else:
    print("Es cero")

6. Promedio de notas

nota1 = float(input("Ingrese la primera nota: "))
nota2 = float(input("Ingrese la segunda nota: "))
nota3 = float(input("Ingrese la tercera nota: "))

promedio = (nota1 + nota2 + nota3) / 3

print("Promedio:", promedio)

if promedio >= 6:
    print("Aprobado")
else:
    print("Desaprobado")

7. Tabla de multiplicar

Con range(1, 11) recorremos los números del 1 al 10.

numero = int(input("Ingrese un numero: "))

for i in range(1, 11):
    print(numero, "x", i, "=", numero * i)

8. Suma de 1 hasta N

n = int(input("Ingrese un numero positivo: "))
suma = 0

for i in range(1, n + 1):
    suma += i

print("La suma es:", suma)

9. Factorial

numero = int(input("Ingrese un numero entero no negativo: "))

if numero < 0:
    print("El factorial no esta definido para numeros negativos")
else:
    factorial = 1

    for i in range(1, numero + 1):
        factorial *= i

    print("Factorial:", factorial)

10. Número primo

numero = int(input("Ingrese un numero: "))

es_primo = numero >= 2
divisor = 2

while divisor * divisor <= numero and es_primo:
    if numero % divisor == 0:
        es_primo = False
    else:
        divisor += 1

if es_primo:
    print("Es primo")
else:
    print("No es primo")

11. Contar vocales en un texto

Recorremos cada carácter de la cadena y comprobamos si pertenece al conjunto de vocales.

texto = input("Ingrese un texto: ")
cantidad = 0

for caracter in texto.lower():
    if caracter in "aeiou":
        cantidad += 1

print("Cantidad de vocales:", cantidad)

12. Invertir una cadena

Python permite utilizar slicing para recorrer una cadena en sentido inverso.

texto = input("Ingrese un texto: ")

invertido = texto[::-1]

print("Texto invertido:", invertido)

13. Mayor valor de una lista

En este ejercicio hacemos el recorrido manualmente para practicar la lógica de búsqueda de máximos.

numeros = [12, 7, 25, 4, 18]

mayor = numeros[0]

for numero in numeros:
    if numero > mayor:
        mayor = numero

print("El mayor es:", mayor)

14. Promedio de una lista

notas = [8, 6, 9, 7, 10]

suma = 0

for nota in notas:
    suma += nota

promedio = suma / len(notas)

print("Promedio:", promedio)

15. Buscar un valor en una lista

numeros = [10, 20, 30, 40, 50]
buscado = int(input("Ingrese el numero a buscar: "))

encontrado = False
posicion = 0

while posicion < len(numeros) and not encontrado:
    if numeros[posicion] == buscado:
        encontrado = True
    else:
        posicion += 1

if encontrado:
    print("Encontrado en la posicion", posicion)
else:
    print("El valor no se encuentra en la lista")

Recordá que en Python la primera posición de una lista es 0.

16. Contar pares e impares

numeros = [4, 7, 10, 13, 18, 21]

pares = 0
impares = 0

for numero in numeros:
    if numero % 2 == 0:
        pares += 1
    else:
        impares += 1

print("Pares:", pares)
print("Impares:", impares)

17. Eliminar duplicados de una lista

Construimos una nueva lista y agregamos solamente los valores que todavía no existen en ella.

numeros = [1, 2, 2, 3, 4, 4, 5]
sin_duplicados = []

for numero in numeros:
    if numero not in sin_duplicados:
        sin_duplicados.append(numero)

print(sin_duplicados)

18. Ordenar una lista

Python incluye herramientas para ordenar listas. En este ejemplo usamos sorted(), que devuelve una nueva lista ordenada.

numeros = [8, 3, 10, 1, 6]

ordenados = sorted(numeros)

print("Original:", numeros)
print("Ordenada:", ordenados)

Más adelante también podemos implementar manualmente algoritmos como burbuja, selección e inserción para entender cómo funciona el ordenamiento internamente.

19. Función para calcular el área de un rectángulo

def calcular_area(base, altura):
    return base * altura

base = float(input("Ingrese la base: "))
altura = float(input("Ingrese la altura: "))

area = calcular_area(base, altura)

print("Area:", area)

Separar el cálculo en una función permite reutilizarlo sin repetir código.

20. Mini menú interactivo

Terminamos combinando varias estructuras en un pequeño programa con menú.

opcion = 0

while opcion != 4:
    print("")
    print("=== MENU ===")
    print("1. Saludar")
    print("2. Sumar dos numeros")
    print("3. Mostrar numeros del 1 al 5")
    print("4. Salir")

    opcion = int(input("Seleccione una opcion: "))

    if opcion == 1:
        nombre = input("Ingrese su nombre: ")
        print("Hola", nombre)

    elif opcion == 2:
        a = float(input("Primer numero: "))
        b = float(input("Segundo numero: "))
        print("Resultado:", a + b)

    elif opcion == 3:
        for i in range(1, 6):
            print(i)

    elif opcion == 4:
        print("Hasta luego")

    else:
        print("Opcion invalida")

Qué conceptos practicamos

Estos 20 ejercicios recorren buena parte de los fundamentos necesarios para seguir avanzando con Python:

  • variables;
  • entrada y salida de datos;
  • conversiones con int() y float();
  • condicionales;
  • ciclos for y while;
  • range();
  • cadenas de texto;
  • listas;
  • búsquedas;
  • acumuladores y contadores;
  • funciones;
  • menús interactivos.

Cómo aprovechar mejor estos ejercicios

No te limites a copiar y ejecutar el código. Probá modificar cada ejercicio:

  • cambiá los valores iniciales;
  • agregá validaciones;
  • pedí los datos al usuario;
  • convertí bloques repetidos en funciones;
  • combiná dos ejercicios en un solo programa;
  • intentá resolver el problema por tu cuenta antes de mirar la solución.

Si venís de PSeInt, también podés consultar nuestra guía De PSeInt a Python: 10 algoritmos traducidos paso a paso para comparar ambas sintaxis.

Próximo paso

Después de esta colección general vamos a profundizar en temas concretos, empezando por condicionales y ciclos y luego avanzando hacia listas, funciones, búsqueda, ordenamiento y proyectos completos.

Seguí aprendiendo Python

Si necesitás repasar la transición desde pseudocódigo, consultá De PSeInt a Python.

Para profundizar en los fundamentos, continuá con:

Tipos de datos en Python: int, float, str, bool y conversiones →

Ver la ruta completa de Python →


¿Te sirvieron estos ejercicios? ☕

Si este contenido te ayudó a practicar Python, podés apoyar a Club Programador. Cada aporte ayuda a mantener el sitio online y a seguir publicando material gratuito.

🇦🇷 Apoyar desde Argentina

☕ Invitame un café con Mercado Pago

🌎 Apoyar desde otro país

☕ Apoyar con PayPal