if, while, for og ternary

For å styre kjøringen av et program trenger man å gjøre logiske sjekker for å bestemme hva man skal gjøre i en gitt situasjon.

if

Brukes for å sjekke med en gang om noe er sånn det skal være:

if True:          # Sann
   print("Denne linjen vil bli vist.")

if True and True: # Sann og sann = sann
   print("Denne linjen blir også vist.")

if True or False: # Sann eller usann = sann
   print("Og denne.")

if False:             # Usann
   print("Ikke denne.")

if True and False:    # Sann og usann = usann
   print("Og ikke denne.")

if False and False:   # Usann og usann = usann
   print("Ej heller denne.")

if not True:          # Ikke sann = usann
   print("Eller denne.")

if not not False:     # Ikke ikke usann = usann
   print("Eller denne.")

if not True or False: # Ikke sann eller usann = usann
   print("Eller denne")

if True:   # Sann
   print("Men så vises denne")
else:      # Nødt til å være usann
   print("Vises ikke")

if 1 == 2:    # Usann
   print("Ikke denne heller")
elif 1 == 1:  # Sann
   print("Denne vises")
elif 1 == 3:  # Usann
   print("Denne vises ikke")
else:         # Vises ikke fordi første elif over er sann
   print("Vises ikke")

while

For å gjøre noe igjen og igjen helt til noe bestemt skjer:

while True: # Vil kjøre i det uendelige!
   print("Vises igjen og igjen.")

nummer = 0
while nummer < 10:
   print(nummer, end=" ")
   nummer += 1
# gir: "0 1 2 3 4 5 6 7 8 9" 

nummer = 0
while nummer < 10:
   print(nummer, end=" ")
   nummer += 2
# gir: "0 2 4 6 8"

nummer = 10
while nummer > 0:
   print(nummer, end=" ")
   nummer -= 2
# gir: "10 8 6 4 2"

for

Om man f.eks. trenger å kjøre gjennom en liste fordi man skal sjekke eller gjøre noe med innholdet i denne:

for nummer in [3,4,5,6,7,8,9]:
   print(nummer, end=" ")
# gir: "3 4 5 6 7 8 9"

for nummer in range(0,10):
   print(nummer, end=" ")
# gir: "0 1 2 3 4 5 6 7 8 9"

for nummer in range(10,20):
   print(nummer, end=" ")
# gir: "10 11 12 13 14 15 16 17 18 19"

for nummer in range(0,10,2):
   print(nummer, end=" ")
# gir: "0 2 4 6 8"

for nummer in range(10,0,-1):
   print(nummer, end=" ")
# gir: "10 9 8 7 6 5 4 3 2 1" 

for nummer in range(10,0,-2):
   print(nummer, end=" ")
# gir: "10 8 6 4 2"

ternary

Brukt for omtrent samme situasjoner som if-else:

temperatur = 10
print("Det er varmt") if temperatur > 20 else print("Det er kaldt")
# gir: "Det er kaldt"

temp = 0
print("Varmt") if temp > 0 else ( print("Kaldt") if temp < 0 else print("0") )
# gir: "0"

Denne måten å sjekke på er av mange mislikt fordi den ser så annerledes ut sammenlignet med tilsvarende i andre programmeringsspråk, som f.eks. Java:

# ...
temp > 0 ? print("Varmt") : ( temp < 0 ? print("Kaldt") : print("0") );

switch

Denne finnes ikke direkte i Python (enda).


Hva som er det riktige for deg når du skal bruke en eller flere av disse må du selv bestemme, det finnes ingen fasitsvar på hva som er riktig eller galt.

Fokuser heller på å gjøre det enkelt og lesbart.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.