Contenido
Sesión 2 · Python en Google Colab
Sesión 2 · Python en Google Colab
Lo que vimos en la sesión 1
Piénsalo, respóndelo en voz alta y luego revisamos
"25"?=?print(Hola)?
Preguntas que se responden con sí o no
| Símbolo | Pregunta | Con nota = 3.5 |
|---|---|---|
| == | ¿Es igual? | nota == 5 → False |
| != | ¿Es distinto? | nota != 5 → True |
| > | ¿Es mayor? | nota > 4 → False |
| < | ¿Es menor? | nota < 4 → True |
| >= | ¿Mayor o igual? | nota >= 3.0 → True |
| <= | ¿Menor o igual? | nota <= 3.5 → True |
El resultado es siempre un bool: True o False.
Ojo: >= se escribe en ese orden, nunca =>.
= guarda, == compara= asigna“Guarda 3.5 en nota”
nota = 3.5
== pregunta“¿nota es igual a 3.5?”
print(nota == 3.5) # True
nota = 3.5 print(nota >= 3.0) # True print(nota == 5) # False
Tomar un camino u otro
nota = 2.8 if nota >= 3.0: print("Aprobó") else: print("Reprobó")
Como 2.8 no es mayor o igual a 3.0, la condición da False y el programa toma el camino del else.
if1 nota >= 3.02:3 print("Aprobó")4 else: print("Reprobó")
if nota >= 3.0:
print("Aprobó")
IndentationError:
expected an indented
block after 'if'
Python no sabe qué va dentro del if.
if nota >= 3.0:
print("Aprobó")if nota >= 3.0
print("Aprobó")
SyntaxError:
expected ':'
Al if le faltan los : al final.
if nota >= 3.0:
print("Aprobó")if nota >= 3.0:
print("Aprobó")
print("Fin")
No da error: "Fin" está fuera del if, así que se imprime siempre.
La sangría define la estructura del programa.
¿Aprueba o reprueba?
Escribe un programa que diga si una nota aprueba (mayor o igual a 3.0) o reprueba. Completa los espacios:
nota = 3.2 if ______: print(______) else: print(______)
Bonus: pruébalo con 3.0 exacto. ¿Aprueba? ¿Por qué?
Estírate y toma agua.
Cuando hay más de dos caminos
nota = 4.6 if nota >= 4.5: print("Excelente") elif nota >= 3.0: print("Aprobó") else: print("Reprobó")
Python revisa las condiciones en orden y se detiene en la primera verdadera.
Con nota = 4.6, ¿qué imprime este programa?
if nota >= 3.0: print("Aprobó") elif nota >= 4.5: print("Excelente")
Combinar condiciones
andTrue solo si las dos condiciones son verdaderas.
orTrue si al menos una es verdadera.
notInvierte el valor: True pasa a False.
edad = 20 tiene_documento = True if edad >= 18 and tiene_documento: print("Puede votar")
edad >= 18 and tiene_documento
| Persona | edad >= 18 | tiene_documento | and | or |
|---|---|---|---|---|
| 20 años, con documento | True | True | True | True |
| 20 años, sin documento | True | False | False | True |
| 15 años, con documento | False | True | False | True |
| 15 años, sin documento | False | False | False | False |
Para votar se necesitan las dos cosas: por eso usamos and.
Pedir datos y tomar decisiones
input() siempre devuelve texto. Para comparar con números hay que convertirlo con int() o float().
edad = input("¿Cuántos años tienes? ") if edad >= 18: print("Eres mayor de edad") TypeError: '>=' not supported between instances of 'str' and 'int'
edad = int(input("¿Cuántos años tienes? ")) if edad >= 18: print("Eres mayor de edad")
Usa int() para enteros y float() para decimales, como una nota de 3.5.
Avanza hasta donde llegues
peso / estatura**2 y muestra la categoría.%.
Ejercicios 1 a 4.
Notebook con los ejemplos resueltos y un diagrama de flujo de cada condicional.
Próxima sesión: Listas, bucles y funciones. ¿Y si quisiéramos repetir algo cien veces?