Futur

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!