Python I: tu primer programa

Tema 1 · Fase 1, Programar con datos · Toda la ruta

Cuaderno del tema. La teoría y los ejercicios con todo su código, listos para ejecutar en Colab sin instalar nada.

Los 20 bloques de código de la teoría, en el mismo orden. Si prefieres armar tu propio cuaderno, cópialos y córrelos en orden; en la ficha Teoría está la explicación de cada uno.

Dónde se escribe el código: Colab

print("¡Hola, Bolivia!")
print("Este es mi primer programa.")

Valores y tipos

print(type(17))
print(type(1.65))
print(type("Sucre"))
print(type(True))
print(type("42"))
print(7 + 2)
print(7 - 2)
print(7 * 2)
print(7 / 2)
print(7 // 2)
print(7 % 2)
print(7 ** 2)
print(2 + 3 * 4)
print((2 + 3) * 4)
print("Hola" + " " + "mundo")
print("ja" * 3)
print(len("Cochabamba"))

Variables: cajas con nombre

edad = 15
nombre = "Ana"
print(nombre, "tiene", edad, "años")

edad = edad + 1
print(nombre, "ahora tiene", edad, "años")

Juntar texto y números: f-strings

nombre = "Ana"
edad = 16
print(f"{nombre} tiene {edad} años.")
print(f"El próximo año tendrá {edad + 1}.")

pi = 3.14159
print(f"Pi con dos decimales: {pi:.2f}")
print("Tengo " + str(edad) + " años")
print(int("42") + 1)
print(float("1.65") * 2)
# La respuesta llega como texto, igual que con input
respuesta = "15"
edad = int(respuesta)
print(f"El próximo año tendrás {edad + 1} años.")

Primer proyecto: calculadora de IMC

peso = 52        # en kilogramos
estatura = 1.60  # en metros
imc = peso / estatura ** 2
print(f"Tu IMC es {imc:.1f}")

Decisiones: if, elif y else

nota = 58
print(nota >= 51)
print(nota == 100)
print(nota != 100)
print(nota >= 51 and nota < 70)
print(not nota >= 51)
nota = 58
if nota >= 51:
    print("Aprobaste")
else:
    print("Todavía no apruebas")
print("Fin")
if imc < 18.5:
    categoria = "bajo peso"
elif imc < 25:
    categoria = "peso normal"
elif imc < 30:
    categoria = "sobrepeso"
else:
    categoria = "obesidad"
print(f"IMC {imc:.1f}: {categoria}")

Repetir: el bucle for

for i in range(5):
    print("Vuelta", i)
print(list(range(1, 6)))
print(list(range(0, 20, 5)))
print(list(range(10, 0, -3)))
numero = 7
for i in range(1, 11):
    print(f"{numero} x {i} = {numero * i}")
total = 0
print("   n  total")
for n in range(1, 5):
    total = total + n
    print(f"{n:>4} {total:>6}")
print("Suma:", total)
total = 0
for n in range(1, 101):
    total = total + n
print(total)

Repetir mientras: el bucle while

ahorro = 0
semanas = 0
while ahorro < 100:
    ahorro = ahorro + 15
    semanas = semanas + 1
print(f"En {semanas} semanas juntas {ahorro} Bs.")

Un juego: adivina el número

import random

random.seed(7)
secreto = random.randint(1, 20)
# Lo que contesta el jugador, en orden
intentos_jugador = [10, 15, 12, 11]

intentos = 0
adivinado = False
while not adivinado:
    intento = intentos_jugador[intentos]
    intentos = intentos + 1
    if intento < secreto:
        print(f"{intento}: el secreto es más alto")
    elif intento > secreto:
        print(f"{intento}: el secreto es más bajo")
    else:
        print(f"{intento}: ¡correcto, en {intentos} intentos!")
        adivinado = True

Una regla hecha a mano

temperaturas = [3, 11, 17, 24, 8]
for t in temperaturas:
    if t < 10:
        consejo = "lleva chamarra"
    elif t < 20:
        consejo = "lleva una chompa"
    else:
        consejo = "ropa ligera"
    print(f"{t:>2} °C: {consejo}")