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.