Løkke-programmering

For-løkker

In [1]:
# Typisk oppsett for en for-løkke når noe skal gjentas x antall ganger

for i in range(10):
    print("#"*20)
####################
####################
####################
####################
####################
####################
####################
####################
####################
####################
In [2]:
# Verdien av variabelen i forandres for hver repetisjon
# Navnet på variabelen i kan velges fritt
# Verdien hentes her fra range(10)-uttrykket

for i in range(10):
    print(i, "#"*i)
0 
1 #
2 ##
3 ###
4 ####
5 #####
6 ######
7 #######
8 ########
9 #########
In [3]:
range(10)
Out[3]:
range(0, 10)
In [4]:
# Hva er egentlig range? Sjekk det med type-funksjonen

type(range(10))
Out[4]:
range
In [5]:
# Kan vi hente ut enkelte verdier fra et range-objekt?

range(10)[0]
Out[5]:
0
In [6]:
# Kan vi finne ut hvor langt et range-objekt er?

len(range(10))
Out[6]:
10
In [7]:
# Kan vi oppdatere det 4. elementet i et range-objekt?

R = range(10)
R[5] = 22
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-7-37577cc162e3> in <module>
      2 
      3 R = range(10)
----> 4 R[5] = 22

TypeError: 'range' object does not support item assignment
In [ ]:
# Et range-objekt oppfører seg på mange måter som en liste, men ikke helt.
In [ ]:
# Vi kan lage en liste, f.eks. fra range-objektet. Eller et tuppel.

list(range(10))
In [ ]:
# Her brukes en vanlig liste som kilde for i-verdiene

for i in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]:
    print("#"*20)
In [ ]:
# Vi kan henvise til en liste ved hjelp av en variabel

ti_tall = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

for tall in ti_tall:
    print(tall, "#"*tall)
In [ ]:
# range-funksjonen kan kalles med startverdi, sluttverdi, steglengde.
# startverdien er fra-og-med
# sluttverdien er opp-til

list(range(10,21,2))
In [ ]:
# Man kan få en sekvens med fallende verdier hvis man setter en 
# negativ steglengde

list(range(20,9, -2))
In [ ]:
# Parametrene til range-funksjonen må være heltall

range(0.5, 10, 0.5)
In [ ]:
# Ved å velge variabelnavn som samsvarer med det faktiske innholdet vi behandler
# i for-løkka, kan vi få tydelig fram meningen med koden vår

planeter = ['Merkur', 'Venus', 'Tellus', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptun']

for planet in planeter:
    print(planet)
In [ ]:
cast = {
           "Jerry Seinfeld": "Jerry Seinfeld",
           "Julia Louis-Dreyfus": "Elaine Benes",
           "Jason Alexander": "George Costanza",
           "Michael Richards": "Cosmo Kramer"
       }
In [ ]:
# Utlisting av nøkkelverdier fra dictionary

for key in cast:
    print(key)
In [ ]:
# Utlisting av både nøkkelverdier og verdier fra dictionary

for key, value in cast.items():
    print(key, value)
In [ ]: