D'en Karel al Python
Glossari
Accions: el que en Karel fa
move() # avança una casella en la direcció que mira
turn_left() # gira 90° a l'esquerra (no es mou)
turn_right() # gira 90° a la dreta (no es mou)
turn_around() # fa mitja volta (180°), no es mou
grab() # recull la perla de la casella actual
drop() # deixa una perla a la casella actual
Condicions: el que en Karel pot preguntar
front_is_clear() # el davant és lliure?
front_is_blocked() # el davant té obstacle?
left_is_clear() # l'esquerra és lliure?
right_is_clear() # la dreta és lliure?
pearl_here() # hi ha una perla en aquesta casella?
bag_is_empty() # la motxilla és buida?
Estructures: la forma del programa
for i in range(5): # repetir un nombre exacte de vegades
move()
while front_is_clear(): # repetir mentre es compleixi una condició
move()
if pearl_here(): # decidir entre dues opcions
grab()
else:
move()
if right_is_clear(): # decidir entre tres o més opcions
turn_right()
elif front_is_clear():
move()
else:
turn_left()
def anar_al_final(): # crear una instrucció pròpia
while front_is_clear():
move()
Operadors lògics: combinar condicions
if front_is_clear() and not pearl_here():
move()
if pearl_here() or bag_is_empty():
grab()
Tot el que has escrit és Python
Tot el que has escrit durant el curs és Python real. No una versió simplificada. Python de debò!
for, while, if, def, and, or, not… tot això és Python.
L'única diferència és que amb en Karel les accions eren move(), grab()… En Python real pots fer moltes més coses: escriure a la pantalla, fer càlculs, crear pàgines web.
Compara: en Karel vs. Python
Fixa't: l'estructura és idèntica. Només canvien les accions de dins:
# Karel # Python
for i in range(5): for i in range(5):
move() print("Hola!")
if pearl_here(): if edat >= 18:
grab() print("Major d'edat")
else: else:
move() print("Menor d'edat")
def puja_grao(): def saluda(nom):
turn_left() print("Hola, " + nom)
move()
turn_right()
move()
Què hi ha de nou a Python?
Python afegeix coses que en Karel no tenia:
punts = 0
punts = punts + 10
nom = input("Com et dius? ")
print("Hola, " + nom + "!")
Les idees que no canvien mai
Sigui quin sigui el llenguatge que aprenguis (Python o altres), sempre trobaràs les mateixes idees que has après amb en Karel.
Per on continuo?
Ara ves als Reptes i combina tot el que saps.
Consell: abans d'escriure codi, pensa l'estratègia amb paper i llapis!