Du kan Python’sk

Du har nu set de mest grundlæggende måde Python programmer virker på.

At skrive et program at give computeren en opskrift på, hvordan den skal løse en bestemt opgave. Opskriften er skrevet i Python, hvor vi beskriver, hvad Python skal gøre ved de data vi anvender i vores programmer.

Python programmer består af kode og data gemt i variabler. Koden ændrer på værdier i variabler, og variablernes værdi kan programmets kode til at løbe i forskellige retninger.

Alt hvad du har lært er i dette lille program, som kan skrive tabel for dig:

# Python: eks2-7-1.py
# Laver en tabel med 10 raekker

# Sæt variablen slut til False
slut = "nej"

# Imens ikke slut
while slut == "nej":
    # Bed brugeren om et tal. 0 går ud
    valg = input("Hvilken tabel vil du se. Tast 0 for afslut? ")

    # check om brugeren har tastet 0
    if valg == "0":
        # Brugeren har tastet 0. Sig paent farvel og ændre slut
        print("Farvel!")
        slut = "ja"
    else:
        # Brugeren har indtastet et tal. Udskriv tabellen
        for i in range(1,11):
            print(str(i) + " * " + str(valg) + " = ", str(int(i) * int(valg)))
        print("\n")
    # Slut på if
# Slut while

Prøv at læse programmet igennem. Kommentarerne i koden forklarer hvordan programmet fungerer.

Syntaksfejl

Du har nok allerede set, hvad der sker, hvis du ikke følger reglerne for Python-kode

Hvis du skriver forkert eller glemmer et kolon (:) giver Python en fejl med det samme. Den slags fejl hedder syntaks fejl (eller syntax error på engelsk). Python finder oftest den type fejl inden den starter programmet, og ser således ud, hvis kolon mangler i en for-løkke:

File "eks7-2-2.py", line 14
for i in range(1,11)
^
SyntaxError: invalid syntax

Den skriver fil-navnet “eks7-2-2.py” , fejlen er i linje 14 og at det er en syntaks fejl. Altså, at vi ikke har fulgt reglerne for Python kode.

Logiske fejl

En anden type fejl. Du har skrevet koden rigtig, men Python gør ikke, hvad du forventer. Du har altså skrevet opskriften eller historien forkert overfor Python, men Python gør altid, hvad du siger – ikke hvad du mener.

I denne situation giver Python dig ikke en fejl, men du får ikke det resultat, som du forventer. Et eksempel er, hvis du i programmet lidt længere oppe kommer til at sætte variablen slut = False, som her:

if valg == 0:
# Brugeren har tastet 0. Sig pænt farvel og ændre slut
    print "Farvel!"
    slut = "nej" 

Det betyder at Python programmet aldrig slutter fordi slut altid vil være “nej”.

Disse logiske fejl i programmet kan være svære at finde, men et trick er at skrive forskellige variable ud med print, så du kan se om de indeholder de værdier, som du forventer.

Denne type bliver også nogle gange kald bugs (insekter på engelsk). Det kommer fra de allerførste computer, som var så store at insekter nogle gange fløj ind kortsluttede de elektriske kredsløb inde i computeren.

Du har lært:

  • At Python kode er en opskrift på at løse en bestemt opgave, og at du skal skrive opskriften
  • At Python kode kun vil køre, hvis du skrevet opskriften Python’sk
  • At Python kode følger din opskrift. Hvis opskriften er forkert bliver resultatet det også