Python-løkker
Når et Python script kjøres blir en og en linje kjørt. Når det gjelder if-setninger må et uttrykk være sann eller usann.
La oss se på operatoren modulus. Tenk deg følgende regnestykke: 10 : 3 = 3,33
To er delelig med tre, men det gir en rest. Det er her modulus kommer inn:
10 % 3 = 0,33
Den gir oss det som er i rest.
La oss se på følgende eksempel:
resten = 10 % 3 if resten > 0: print(“10 er ikke delelig med 3”)
Nå vi skal sjekke alle tallene fra 1 til 20 for å finne de tallene som er delelig med 3. Det ville blitt 20 if-setninger.
Det hadde vært mye enklere å lage en løkke, på denne måten:
gjeldendeTall = 1 while gjeldendeTall <= 20: resten = gjeldendeTall % 3 if resten > 0: print(gjeldendeTall + “er ikke delelig med 3”) else: print(gjeldendeTall + “er ikke delelig med 3”)
Slik som alt annet er det en annen måte å gjøre dette. Vi kan legge tallene i en liste, og deretter gå igjennom listen på denne måten:
tilfeldigeTall = [3, 17, 6, 12, 14, 18] for indeks in range(len(tilfeldigeTall)): resten = tilfeldigeTall[indeks] % 3 if resten > 0: print(tilfeldigeTall[indeks] + “er ikke delelig med 3”) else: print(tilfeldigeTall[indeks] + “er ikke delelig med 3”)
I dette tilfellet benyttes en for-løkke. Forskjellen mellom en while-løkke og en for-løkke er at for while-løkker gjør vi noe så lenge noe er sant.
tilfeldigeTall = [3, 17, 6, 12, 14, 18] for indeks in range(len(tilfeldigeTall)): resten = tilfeldigeTall[indeks] % 3 print(resten)
I Python-variabler gjikk vi igjennom liste. Som oftest har starter i en for-løkke med 0, og det passer bra, siden skuffnummer 0 er den første skuffen. I eksemplet over printes resten for alle tallene i listen tilfeldigeTall.
Generelt kan vi si at for-løkker krever at vi vet hvor mange ganger noe skal gjøres. I eksemplet over skulle en liste gjennomgås. For å gå igjennom en liste, må vi vite hvor vi er i listen. Dermed har vi indeks som angir hvilket i listen vi ønsker å hente (ref skuff-liste-forklaringen).
Les mer om Python her: