benjamonsh ;)
Blog16 min de lectura

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 mundo

La instrucción:

print()

sirve para mostrar algo en pantalla.

Por ejemplo:

print("Estoy aprendiendo Python")
print(10)

Resultado:

Estoy aprendiendo Python
10

La idea principal es simple:

Nosotros escribimos instrucciones
        ↓
Python las ejecuta
        ↓
El computador realiza una acción

2. Variables

Una variable sirve para guardar información.

Podemos imaginarlas como una caja que tiene un nombre.

Por ejemplo:

edad = 20

Aquí estamos diciendo:

Variable: edad
Valor: 20

Podemos mostrarla:

edad = 20

print(edad)

Resultado:

20

También podemos guardar texto:

nombre = "Benjamín"

print(nombre)

Resultado:

Benjamín

Podemos 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ños

3. 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 = -2

Números decimales: float

Son números que contienen decimales.

altura = 1.75
precio = 2990.5
nota = 5.6

Texto: str

El texto se escribe entre comillas.

nombre = "Benjamín"
ciudad = "Copiapó"

Booleanos: bool

Un booleano solo puede tener dos valores:

True
False

Por ejemplo:

mayor_de_edad = True
tiene_auto = False

Podemos pensar en ellos como respuestas de:

Sí → True
No → False

4. 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 falso

5. Operaciones matemáticas

Python también funciona como una calculadora.

Podemos guardar números:

a = 10
b = 5

Y realizar operaciones.

Suma

resultado = a + b

print(resultado)

Resultado:

15

Resta

resultado = a - b

print(resultado)

Resultado:

5

Multiplicación

resultado = a * b

print(resultado)

Resultado:

50

División

resultado = a / b

print(resultado)

Resultado:

2.0

Aunque 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
**  potencia

División entera

print(10 // 3)

Resultado:

3

Ignora los decimales.

Resto

print(10 % 3)

Resultado:

1

Porque:

10 ÷ 3 = 3
sobra 1

El operador % será muy útil más adelante.

Por ejemplo, para saber si un número es par.

print(8 % 2)

Resultado:

0

Como no sobra nada, 8 es divisible por 2.

Potencia

print(2 ** 3)

Resultado:

8

Porque:

2 × 2 × 2 = 8

7. 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ín

la variable nombre pasa a contener:

Benjamín

Podemos hacer:

nombre = input("Ingrese su nombre: ")

print("Hola", nombre)

Resultado:

Ingrese su nombre: Benjamín
Hola Benjamín

8. Un detalle importante de input()

input() siempre entrega texto.

Por ejemplo:

edad = input("Ingrese su edad: ")

Aunque escribamos:

20

Python 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" + 1

y 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:

20

resultado:

21

Convertir a decimal

nota = float(input("Ingrese su nota: "))

Esto permite ingresar:

5.5

Ejemplo 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 = 20

Queremos saber:

¿edad es mayor o igual a 18?

En Python escribimos:

edad >= 18

Esto devuelve:

True

porque 20 es mayor que 18.

Los principales operadores son:

==  igual
!=  distinto
>   mayor que
<   menor que
>=  mayor o igual
<=  menor o igual

Ejemplos:

print(5 == 5)
print(10 > 3)
print(2 < 1)

Resultado:

True
True
False

Importante:

=  sirve para guardar un valor
== sirve para comparar

Por ejemplo:

edad = 20

guarda 20.

Pero:

edad == 20

pregunta si edad vale 20.


11. Condicional if

Un if permite tomar decisiones.

Por ejemplo:

Si tengo 18 años o más
    puedo entrar

En Python:

edad = 20

if edad >= 18:
    print("Puedes entrar")

Resultado:

Puedes entrar

La estructura es:

if condicion:
    codigo

Importante: 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 edad

Podemos 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í

→ Aprobado

14. 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:

20

resultado:

Puedes ver la película

Si ingresamos:

15

resultado:

No puedes ver la película

15. Operadores lógicos

A veces necesitamos comprobar más de una condición.

and

Significa:

Y

Las 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 entrada

or

Significa:

O

Solo una condición necesita cumplirse.

dia = "sábado"

if dia == "sábado" or dia == "domingo":
    print("Es fin de semana")

not

Significa:

NO

Ejemplo:

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 5

Por ejemplo:

nombre = "Python"

print(nombre[0])

Resultado:

P

Otro ejemplo:

print(nombre[2])

Resultado:

t

Las 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:

6

Tambié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:

PYTHON

Minúsculas

nombre = "PYTHON"

print(nombre.lower())

Resultado:

python

Eliminar espacios

nombre = "   Benjamín   "

nombre = nombre.strip()

print(nombre)

Resultado:

Benjamín

19. 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.8

podemos 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     2

Por ejemplo:

print(notas[0])

Resultado:

5.5

20. 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:

3

23. ¿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
Hola

24. 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
4

La 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 = 4

25. Entender range()

range() genera una secuencia de números.

Un valor

range(5)

genera:

0, 1, 2, 3, 4

Por eso:

for i in range(5):
    print(i)

muestra:

0
1
2
3
4

No 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
5

El 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
10

Aquí 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
10

29. 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
Luis

Podemos 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.1

31. Acumuladores

Un acumulador sirve para ir sumando valores.

Supongamos:

notas = [5.0, 6.0, 4.0]

Queremos sumarlas.

Creamos:

suma = 0

Luego:

notas = [5.0, 6.0, 4.0]

suma = 0

for nota in notas:
    suma = suma + nota

print(suma)

Resultado:

15.0

Paso a paso:

suma = 0

Primera vuelta:
suma = 0 + 5
suma = 5

Segunda vuelta:
suma = 5 + 6
suma = 11

Tercera vuelta:
suma = 11 + 4
suma = 15

También podemos escribir:

suma += nota

en vez de:

suma = suma + nota

32. Contadores

Un contador sirve para contar cuántas veces ocurre algo.

Por ejemplo, queremos saber cuántos números positivos ingresamos.

contador = 0

Cada vez que encontramos uno positivo:

contador += 1

Ejemplo 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 % 2

Si el resultado es 0, el número es par.

Ejemplo:

numero = 8

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

Resultado:

Es par

Podemos combinar esto con un for.

for numero in range(1, 11):

    if numero % 2 == 0:
        print(numero)

Resultado:

2
4
6
8
10

34. 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 += 1

Resultado:

1
2
3
4
5

35. Entender while paso a paso

Tenemos:

contador = 1

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

Primero:

contador = 1

Python pregunta:

¿1 <= 5?

Sí.

Entonces imprime:

1

Después:

contador += 1

Ahora:

contador = 2

Python vuelve a preguntar:

¿2 <= 5?

Y continúa hasta llegar a:

contador = 6

Entonces:

¿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 correcta

38. Cuidado con los bucles infinitos

Mira este código:

contador = 1

while contador <= 5:
    print(contador)

Hay un problema.

contador nunca cambia.

Siempre vale:

1

Por lo tanto siempre se cumple:

1 <= 5

El bucle nunca termina.

La solución es actualizar la variable:

contador = 1

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

39. 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 == 0

se ejecuta:

break

y 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
5

Cuando:

numero = 3

Python ejecuta:

continue

y 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:

5

resultado:

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 = 50

42. 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 3

43. 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:

  1. Pida cinco números.
  2. Cuente cuántos son positivos.
  3. Cuente cuántos son negativos.
  4. 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 negativo

Intenta terminarlo antes de mirar una solución.


49. Resumen

Hasta este punto aprendiste cuatro ideas fundamentales.

Guardar información

nombre = "Benjamín"
edad = 20

Tomar 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ódigo

Podemos resumirlo así:

Variables
    ↓
Guardan información

if / elif / else
    ↓
Permiten tomar decisiones

Listas
    ↓
Guardan varios valores

for / while
    ↓
Permiten repetir instrucciones

Con 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.

¿Tienes una idea? Cuéntamela.

zodev@proton.me

Te respondo con una propuesta concreta ;)

Cuéntame tu proyecto