Python desde cero hasta bucles
Tutorial práctico de Python desde cero, aprendiendo variables, tipos de datos, condicionales, listas y bucles for y while paso a paso.

1. ¿Qué es Python?
Python es un lenguaje de programación.
Programar significa escribir instrucciones para que el computador haga algo.
Por ejemplo, podemos pedirle que muestre un mensaje:
print("Hola mundo")Resultado:
Hola mundoLa instrucción:
print()sirve para mostrar algo en pantalla.
Por ejemplo:
print("Estoy aprendiendo Python")
print(10)Resultado:
Estoy aprendiendo Python
10La idea principal es simple:
Nosotros escribimos instrucciones
↓
Python las ejecuta
↓
El computador realiza una acción2. Variables
Una variable sirve para guardar información.
Podemos imaginarlas como una caja que tiene un nombre.
Por ejemplo:
edad = 20Aquí estamos diciendo:
Variable: edad
Valor: 20Podemos mostrarla:
edad = 20
print(edad)Resultado:
20También podemos guardar texto:
nombre = "Benjamín"
print(nombre)Resultado:
BenjamínPodemos tener varias variables:
nombre = "Benjamín"
edad = 20
carrera = "Ingeniería"
print(nombre)
print(edad)
print(carrera)También podemos combinarlas:
nombre = "Benjamín"
edad = 20
print("Mi nombre es", nombre)
print("Tengo", edad, "años")Resultado:
Mi nombre es Benjamín
Tengo 20 años3. Tipos de datos
No toda la información es del mismo tipo.
Python tiene distintos tipos de datos.
Números enteros: int
Son números sin decimales.
edad = 20
cantidad = 5
temperatura = -2Números decimales: float
Son números que contienen decimales.
altura = 1.75
precio = 2990.5
nota = 5.6Texto: str
El texto se escribe entre comillas.
nombre = "Benjamín"
ciudad = "Copiapó"Booleanos: bool
Un booleano solo puede tener dos valores:
True
FalsePor ejemplo:
mayor_de_edad = True
tiene_auto = FalsePodemos pensar en ellos como respuestas de:
Sí → True
No → False4. Saber el tipo de una variable
Podemos usar:
type()para saber qué tipo de dato tiene una variable.
Ejemplo:
edad = 20
print(type(edad))Resultado:
<class 'int'>Otro ejemplo:
nombre = "Benjamín"
print(type(nombre))Resultado:
<class 'str'>No necesitas memorizar la salida completa.
Lo importante es identificar:
int → entero
float → decimal
str → texto
bool → verdadero o falso5. Operaciones matemáticas
Python también funciona como una calculadora.
Podemos guardar números:
a = 10
b = 5Y realizar operaciones.
Suma
resultado = a + b
print(resultado)Resultado:
15Resta
resultado = a - b
print(resultado)Resultado:
5Multiplicación
resultado = a * b
print(resultado)Resultado:
50División
resultado = a / b
print(resultado)Resultado:
2.0Aunque el resultado sea exacto, / normalmente entrega un float.
6. Operadores matemáticos importantes
Los principales operadores son:
+ suma
- resta
* multiplicación
/ división
// división entera
% resto
** potenciaDivisión entera
print(10 // 3)Resultado:
3Ignora los decimales.
Resto
print(10 % 3)Resultado:
1Porque:
10 ÷ 3 = 3
sobra 1El operador % será muy útil más adelante.
Por ejemplo, para saber si un número es par.
print(8 % 2)Resultado:
0Como no sobra nada, 8 es divisible por 2.
Potencia
print(2 ** 3)Resultado:
8Porque:
2 × 2 × 2 = 87. Pedir información al usuario
Hasta ahora nosotros escribíamos directamente los datos.
Por ejemplo:
nombre = "Benjamín"Pero también podemos pedirle información a la persona que usa el programa.
Para eso usamos:
input()Ejemplo:
nombre = input("Ingrese su nombre: ")
print(nombre)Cuando se ejecuta, aparece:
Ingrese su nombre:Si escribimos:
Benjamínla variable nombre pasa a contener:
BenjamínPodemos hacer:
nombre = input("Ingrese su nombre: ")
print("Hola", nombre)Resultado:
Ingrese su nombre: Benjamín
Hola Benjamín8. Un detalle importante de input()
input() siempre entrega texto.
Por ejemplo:
edad = input("Ingrese su edad: ")Aunque escribamos:
20Python lo guarda como texto.
Sería equivalente a:
edad = "20"Por eso esto genera un problema:
edad = input("Ingrese su edad: ")
print(edad + 1)Python intenta hacer:
"20" + 1y no puede sumar texto con un número.
9. Convertir datos
Podemos convertir un dato usando:
int()
float()
str()Convertir a entero
edad = int(input("Ingrese su edad: "))Ahora edad es un número.
Podemos hacer:
edad = int(input("Ingrese su edad: "))
print(edad + 1)Si ingresamos:
20resultado:
21Convertir a decimal
nota = float(input("Ingrese su nota: "))Esto permite ingresar:
5.5Ejemplo práctico
nombre = input("Ingrese su nombre: ")
edad = int(input("Ingrese su edad: "))
print("Hola", nombre)
print("El próximo año tendrás", edad + 1, "años")10. Comparaciones
Muchas veces necesitamos que el programa compare valores.
Por ejemplo:
edad = 20Queremos saber:
¿edad es mayor o igual a 18?En Python escribimos:
edad >= 18Esto devuelve:
Trueporque 20 es mayor que 18.
Los principales operadores son:
== igual
!= distinto
> mayor que
< menor que
>= mayor o igual
<= menor o igualEjemplos:
print(5 == 5)
print(10 > 3)
print(2 < 1)Resultado:
True
True
FalseImportante:
= sirve para guardar un valor
== sirve para compararPor ejemplo:
edad = 20guarda 20.
Pero:
edad == 20pregunta si edad vale 20.
11. Condicional if
Un if permite tomar decisiones.
Por ejemplo:
Si tengo 18 años o más
puedo entrarEn Python:
edad = 20
if edad >= 18:
print("Puedes entrar")Resultado:
Puedes entrarLa estructura es:
if condicion:
codigoImportante: el código que pertenece al if debe tener sangría.
Correcto:
if edad >= 18:
print("Mayor de edad")Incorrecto:
if edad >= 18:
print("Mayor de edad")12. if y else
¿Qué pasa si la condición no se cumple?
Podemos usar else.
edad = 16
if edad >= 18:
print("Mayor de edad")
else:
print("Menor de edad")Resultado:
Menor de edadPodemos leerlo así:
SI edad >= 18
mostrar "Mayor de edad"
SI NO
mostrar "Menor de edad"13. elif
A veces necesitamos más de dos opciones.
Por ejemplo, según una nota:
nota = 5.5
if nota >= 6:
print("Muy buena nota")
elif nota >= 4:
print("Aprobado")
else:
print("Reprobado")Python revisa desde arriba hacia abajo.
Si nota = 5.5:
¿nota >= 6?
No
¿nota >= 4?
Sí
→ Aprobado14. Ejemplo práctico de condicionales
Vamos a crear un programa que diga si una persona puede entrar a una película para mayores de 18.
edad = int(input("Ingrese su edad: "))
if edad >= 18:
print("Puedes ver la película")
else:
print("No puedes ver la película")Si ingresamos:
20resultado:
Puedes ver la películaSi ingresamos:
15resultado:
No puedes ver la película15. Operadores lógicos
A veces necesitamos comprobar más de una condición.
and
Significa:
YLas dos condiciones deben cumplirse.
Ejemplo:
edad = 20
tiene_entrada = True
if edad >= 18 and tiene_entrada:
print("Puede entrar")Para entrar necesita:
ser mayor de edad
Y
tener entradaor
Significa:
OSolo una condición necesita cumplirse.
dia = "sábado"
if dia == "sábado" or dia == "domingo":
print("Es fin de semana")not
Significa:
NOEjemplo:
lloviendo = False
if not lloviendo:
print("Podemos salir")16. Strings
Un string es simplemente texto.
nombre = "Python"Podemos acceder a cada letra usando su posición.
P y t h o n
0 1 2 3 4 5Por ejemplo:
nombre = "Python"
print(nombre[0])Resultado:
POtro ejemplo:
print(nombre[2])Resultado:
tLas posiciones siempre comienzan en 0.
17. Largo de un texto
Podemos saber cuántos caracteres tiene usando:
len()Ejemplo:
nombre = "Python"
print(len(nombre))Resultado:
6También funciona con otros tipos de estructuras que veremos después.
18. Métodos útiles de texto
Podemos transformar texto fácilmente.
Mayúsculas
nombre = "python"
print(nombre.upper())Resultado:
PYTHONMinúsculas
nombre = "PYTHON"
print(nombre.lower())Resultado:
pythonEliminar espacios
nombre = " Benjamín "
nombre = nombre.strip()
print(nombre)Resultado:
Benjamín19. Listas
Una lista permite guardar varios valores juntos.
Por ejemplo:
notas = [5.5, 6.0, 4.8]En vez de crear:
nota1 = 5.5
nota2 = 6.0
nota3 = 4.8podemos guardar todo en una sola lista.
notas = [5.5, 6.0, 4.8]Cada elemento tiene una posición.
Valor: 5.5 6.0 4.8
Posición: 0 1 2Por ejemplo:
print(notas[0])Resultado:
5.520. Modificar una lista
Podemos cambiar un elemento.
notas = [5.5, 6.0, 4.8]
notas[0] = 6.2
print(notas)Resultado:
[6.2, 6.0, 4.8]21. Agregar elementos a una lista
Para agregar algo al final usamos:
append()Ejemplo:
notas = [5.5, 6.0]
notas.append(4.8)
print(notas)Resultado:
[5.5, 6.0, 4.8]22. Cantidad de elementos de una lista
También podemos usar len().
notas = [5.5, 6.0, 4.8]
print(len(notas))Resultado:
323. ¿Qué es un bucle?
Un bucle sirve para repetir instrucciones.
Supongamos que queremos mostrar "Hola" cinco veces.
Podríamos hacer:
print("Hola")
print("Hola")
print("Hola")
print("Hola")
print("Hola")Funciona, pero es repetitivo.
Con un bucle podemos hacer:
for i in range(5):
print("Hola")Resultado:
Hola
Hola
Hola
Hola
Hola24. Bucle for
El for se usa principalmente cuando sabemos cuántas veces queremos repetir algo.
Ejemplo:
for i in range(5):
print(i)Resultado:
0
1
2
3
4La variable i va cambiando.
Podemos imaginarlo así:
Vuelta 1 → i = 0
Vuelta 2 → i = 1
Vuelta 3 → i = 2
Vuelta 4 → i = 3
Vuelta 5 → i = 425. Entender range()
range() genera una secuencia de números.
Un valor
range(5)genera:
0, 1, 2, 3, 4Por eso:
for i in range(5):
print(i)muestra:
0
1
2
3
4No incluye el 5.
26. range(inicio, fin)
Podemos decidir desde qué número comenzar.
for i in range(1, 6):
print(i)Resultado:
1
2
3
4
5El segundo número no se incluye.
Por eso usamos 6 si queremos llegar hasta 5.
27. range(inicio, fin, salto)
También podemos indicar cuánto aumenta.
for i in range(0, 11, 2):
print(i)Resultado:
0
2
4
6
8
10Aquí aumenta de 2 en 2.
28. Ejemplo práctico con for
Mostrar los números del 1 al 10.
for numero in range(1, 11):
print(numero)Resultado:
1
2
3
4
5
6
7
8
9
1029. Recorrer una lista
También podemos usar for para recorrer una lista.
nombres = ["Ana", "Pedro", "Luis"]
for nombre in nombres:
print(nombre)Resultado:
Ana
Pedro
LuisPodemos imaginarlo así:
Primera vuelta:
nombre = "Ana"
Segunda vuelta:
nombre = "Pedro"
Tercera vuelta:
nombre = "Luis"30. Ejemplo práctico con listas
Tenemos varias notas:
notas = [5.5, 4.3, 6.1]Podemos mostrarlas:
for nota in notas:
print(nota)Resultado:
5.5
4.3
6.131. Acumuladores
Un acumulador sirve para ir sumando valores.
Supongamos:
notas = [5.0, 6.0, 4.0]Queremos sumarlas.
Creamos:
suma = 0Luego:
notas = [5.0, 6.0, 4.0]
suma = 0
for nota in notas:
suma = suma + nota
print(suma)Resultado:
15.0Paso a paso:
suma = 0
Primera vuelta:
suma = 0 + 5
suma = 5
Segunda vuelta:
suma = 5 + 6
suma = 11
Tercera vuelta:
suma = 11 + 4
suma = 15También podemos escribir:
suma += notaen vez de:
suma = suma + nota32. Contadores
Un contador sirve para contar cuántas veces ocurre algo.
Por ejemplo, queremos saber cuántos números positivos ingresamos.
contador = 0Cada vez que encontramos uno positivo:
contador += 1Ejemplo completo:
contador = 0
for i in range(5):
numero = int(input("Ingrese un número: "))
if numero > 0:
contador += 1
print("Cantidad de positivos:", contador)33. Detectar números pares
Recordemos el operador %.
numero % 2Si el resultado es 0, el número es par.
Ejemplo:
numero = 8
if numero % 2 == 0:
print("Es par")Resultado:
Es parPodemos combinar esto con un for.
for numero in range(1, 11):
if numero % 2 == 0:
print(numero)Resultado:
2
4
6
8
1034. Bucle while
while también permite repetir código.
La diferencia principal es que se ejecuta mientras una condición sea verdadera.
Ejemplo:
contador = 1
while contador <= 5:
print(contador)
contador += 1Resultado:
1
2
3
4
535. Entender while paso a paso
Tenemos:
contador = 1
while contador <= 5:
print(contador)
contador += 1Primero:
contador = 1Python pregunta:
¿1 <= 5?Sí.
Entonces imprime:
1Después:
contador += 1Ahora:
contador = 2Python vuelve a preguntar:
¿2 <= 5?Y continúa hasta llegar a:
contador = 6Entonces:
¿6 <= 5?No.
El bucle termina.
36. Diferencia entre for y while
Normalmente usamos for cuando sabemos cuántas veces queremos repetir algo.
Ejemplo:
for i in range(5):
print(i)Sabemos que serán cinco repeticiones.
Usamos while cuando queremos repetir algo hasta que ocurra alguna condición.
Ejemplo:
password = ""
while password != "python":
password = input("Ingrese contraseña: ")No sabemos cuántos intentos necesitará la persona.
37. Ejemplo práctico con while
Vamos a pedir una contraseña.
password = ""
while password != "1234":
password = input("Ingrese contraseña: ")
print("Contraseña correcta")Si escribimos una contraseña incorrecta, vuelve a preguntar.
Ingrese contraseña: 1111
Ingrese contraseña: hola
Ingrese contraseña: 1234
Contraseña correcta38. Cuidado con los bucles infinitos
Mira este código:
contador = 1
while contador <= 5:
print(contador)Hay un problema.
contador nunca cambia.
Siempre vale:
1Por lo tanto siempre se cumple:
1 <= 5El bucle nunca termina.
La solución es actualizar la variable:
contador = 1
while contador <= 5:
print(contador)
contador += 139. break
break permite salir de un bucle.
Ejemplo:
while True:
numero = int(input("Ingrese 0 para salir: "))
if numero == 0:
break
print("Ingresaste:", numero)Aquí:
while True:crea un bucle que podría ejecutarse para siempre.
Pero cuando:
numero == 0se ejecuta:
breaky el bucle termina.
40. continue
continue permite saltarse una repetición.
Ejemplo:
for numero in range(1, 6):
if numero == 3:
continue
print(numero)Resultado:
1
2
4
5Cuando:
numero = 3Python ejecuta:
continuey pasa directamente a la siguiente vuelta.
41. Ejemplo: tabla de multiplicar
Vamos a pedir un número:
numero = int(input("Ingrese un número: "))Después queremos multiplicarlo desde 1 hasta 10.
for i in range(1, 11):
print(numero, "x", i, "=", numero * i)Programa completo:
numero = int(input("Ingrese un número: "))
for i in range(1, 11):
print(numero, "x", i, "=", numero * i)Si ingresamos:
5resultado:
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 5042. Ejemplo: calcular promedio
Queremos pedir tres notas y calcular su promedio.
suma = 0
for i in range(3):
nota = float(input("Ingrese una nota: "))
suma += nota
promedio = suma / 3
print("Promedio:", promedio)Paso a paso:
1. suma comienza en 0
2. pedimos una nota
3. agregamos esa nota a suma
4. repetimos tres veces
5. dividimos la suma entre 343. Ejercicio 1: número positivo o negativo
Pide un número y determina qué tipo es.
numero = int(input("Ingrese un número: "))
if numero > 0:
print("El número es positivo")
elif numero < 0:
print("El número es negativo")
else:
print("El número es cero")44. Ejercicio 2: mostrar números del 1 al 10
for numero in range(1, 11):
print(numero)45. Ejercicio 3: mostrar números pares
for numero in range(1, 21):
if numero % 2 == 0:
print(numero)46. Ejercicio 4: sumar cinco números
suma = 0
for i in range(5):
numero = int(input("Ingrese un número: "))
suma += numero
print("La suma es:", suma)47. Ejercicio 5: pedir números hasta escribir 0
numero = -1
while numero != 0:
numero = int(input("Ingrese un número: "))
print("Programa terminado")48. Ejercicio para practicar solo
Intenta crear un programa que:
- Pida cinco números.
- Cuente cuántos son positivos.
- Cuente cuántos son negativos.
- Muestre ambos resultados al final.
Una posible idea inicial:
positivos = 0
negativos = 0
for i in range(5):
numero = int(input("Ingrese un número: "))
# Aquí debes comprobar si es positivo o negativoIntenta terminarlo antes de mirar una solución.
49. Resumen
Hasta este punto aprendiste cuatro ideas fundamentales.
Guardar información
nombre = "Benjamín"
edad = 20Tomar decisiones
if edad >= 18:
print("Mayor de edad")
else:
print("Menor de edad")Guardar varios datos
notas = [5.5, 6.0, 4.8]Repetir instrucciones
for i in range(5):
print(i)o:
while condicion:
# códigoPodemos resumirlo así:
Variables
↓
Guardan información
if / elif / else
↓
Permiten tomar decisiones
Listas
↓
Guardan varios valores
for / while
↓
Permiten repetir instruccionesCon estas herramientas ya puedes comenzar a crear programas pequeños por tu cuenta.
El siguiente paso recomendable sería aprender funciones y practicar ejercicios que mezclen variables, listas, condicionales y bucles.