Hasta ahora hemos completado tareas pre-definidas, pero para ser honestos no hemos conseguido hacer nada mejor que lo que hacían aquellas viejas cajas de música que siguen un conjunto de instrucciones hasta el final. Lo que hace a la programación mucho más poderosa son las sentencias condicionales. Esta es la habilidad de probar una variable contra otra variable y actuar de una forma si se cumple una condición o de otra si no se cumple. Ellas son comúnmente llamadas por los programadores como sentencias if.
para saver si una condición es Verdadera o Falsa, necesitamos un nuevo tipo de datos: los booleanos. Ellos permiten realizar operaciones lógicas. Una sentencia u operación lógica puede ser evaluada para ser Verdadera o Falsa. Nuestra sentencia condicional se puede entender como sigue:
- if (la condición resulta Verdadera):
entonces hacer esto sólo para ‘Verdadero’
- else:
de otra forma hacer esto solo para ‘Falso’.
La condición puede ser cualquier cosa que sea evaluada como Verdadero o Falso. Comparaciones siempre retornan Verdadero o Falso, por ejemplo ==
(igual a), >
(mayor que), <
(menor que).
La parte else es opcional. Si usted no la coloca, nada sucederá si la condición resulta ser ‘Falsa’.
Acá hay algunos ejemplos. Puede querer leerlos línea-a-línea y ver que cree usted que hacen, o ejecutarlos para estar seguro:
condition = True
if condition:
print("condition met")
if not condition:
print("condition not met")
direction = -30
if direction > 0 :
turtle.forward(direction)
else:
turtle.left(180)
turtle.forward(-direction)
Las tortugas de Python son muy buenas siguiendo instrucciones. Usemos la función input()
para preguntar al usuario la dirección en la que se mueve la tortuga. Para que sea fácil, sólo aceptaremos dos instrucciones: “left” y “right”.
Nota
Usa Python 2? La función ìnput()
se llama raw_input()
.
Es mucho más fácil definir esto como una función, entonces:
def move():
direction = input("Go left or right? ")
if direction == "left":
turtle.left(60)
turtle.forward(50)
if direction == "right":
turtle.right(60)
turtle.forward(50)
Ahora cada vez que use move()
se le solicita que escoja left
o right
.
En este programa la tortuga responderá sólo a las palabras exactas left
o right
sin variaciones. Entonces Left
o LEFT
pueden parecer iguales a left
para un humano, pero ese no es el caso en programación. Python tiene algunos métodos útiles para ayudarnos con esto. Un método de strings llamado .strip()
, el cual elimina espacios en blanco y .lower()
el cual transforma todo a minúsculas.
Acá hay algunos ejemplos para imprimir los efectos de .strip()
y .lower()
:
my_variable = " I Am Capitalised"
print(my_variable)
my_stripped = my_variable.strip()
print(my_stripped)
my_lower = my_variable.lower()
print(my_lower)
Intente agregar la sentencia direction = direction.strip().lower()
a la función move()
, para ver su efecto. A menudo llamamos este tipo de código “data munging”, y es muy común.
puede agregar algunas opciones extra para que la tortuga dibuje otras cosas? Que tal hexagon
?