Betingelser

Betingelser

Betingelser anvendes til at kunne køre kode når forskellige betingelser er opfyldt. Der er ingen grænse for hvor mange betingelser man kan sætte op. Herunder vil der blive gennemgået hvordan if/elif/else anvnedes.

IDE

Det kan anbefales at du overveje et IDE (Integrated Development Enviroment). Du kan finde henvisninger til nogle her: python_matematik_ide.html

if

Betingelser bruges når man vil have koden til at udføre noget i specielle tilfælde. Det kan f.eks. være at man vil undersøge om et tal er lige. Altså om tallet x%2 = 0.

>>> for i in range(1,11):
...    if i%2==0:
...        print("{0} er lige".format(i))
... 
2 er lige
4 er lige
6 er lige
8 er lige
10 er lige

if/else

Herunder udvider vi koden, så der udskrives om tallet er lige eller ulige

>>> for i in range(1,11):
...    if i%2==0:
...        tal="lige"
...    else:
...        tal="ulige"
...    print("{0} er {1}".format(i,tal))
... 
1 er ulige
2 er lige
3 er ulige
4 er lige
5 er ulige
6 er lige
7 er ulige
8 er lige
9 er ulige
10 er lige

if/elif/else

I dette eksempel udskriver koden om tallet i er positivt, 0 eller negativt

>>>for i in range(-5,6):
...    if i==0:
...        print("{0} er hverken negativt eller positivt".format(i))
...    elif i<0:
...        print("{0} er negativt".format(i))
...    else:
...        print("{0} er positivt".format(i))
...
-5 er negativt
-4 er negativt
-3 er negativt
-2 er negativt
-1 er negativt
0 er hverken negativt eller positivt
 1 er positivt
 2 er positivt
 3 er positivt
 4 er positivt
 5 er positivt

Control statements

Derudover gælder der også nogle control statements (kontroludsagn), som kan stoppe og ændre udførslen af løkker.

Kontroludsagn Beskrivelse
break Bryder den ingangværende løkke
continue Bryder behandlingen af koden, hopper videre til næste værdi og kører løkken derfra
pass pass er hvad man kalder en null operation. Med den kommando kan man indsætte ekstra kode for enkelttilfælde uden at resten af koden ændres

I det ovenstående eksempel kørte koden indtil den ramte en værdi. Men vi kan også køre koden indtil den rammer en sand eller falsk tilstand. Hvis vi f.eks. vil have en kode kører indtil noget er opfyldt

I eksemplet herunder er der en kode der finder de lige tal i en talmængde (her op til 11). Læg mærke til at jeg anvender en for-løkke til at gennemløbe tallene og indlejrer while-løkken deri. Koden er forklaret med rødt:

>>> for i in range(1,11): --> sørger for at tallene fra 1-10 bliver anvendt
...    while i%2==0: --> Så længe 2 går op (rest=0)
...        print(i) --> Udskriv i
...        break --> Bryder while-løkken og så range-løkken kan tælle videre
... 
2
4
6
8
10

Grunden til at whileløkken skal brydes er, at i aldrig når at vokse. Den vil blive ved med at køre indtil koden afbrydes af brugeren med tasterne Ctrl+c. Prøv selv

>>> for i in range(1,11):
...    while i%2==0:
...        print(i)
... 
2
2
.
.
2
2
2
^CTraceback (most recent call last):
  File "<stdin>", line 3, in <module>
KeyboardInterrupt
2

Opgave1

Opgave 1

Lav funktionen lilletabel() der udskriver de 10 første tal i den tabel der angives i parantesen.

>>> lilletabel(5)
5 - 10 - 15 - 20 - 25 - 30 - 35 - 40 - 45 - 50 - 
>>> lilletabel(7)
7 - 14 - 21 - 28 - 35 - 42 - 49 - 56 - 63 - 70 -
Opgave 2 - BUM

Lav spillet bum, hvor man computeren skal sige "bum" når den rammer et tal i 3 tabellen. Lad det køre fra 1-30.