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.