NemProgrammering.dk logo

Løkker i Python

Lær Python programmering » Løkker i Python # 9
Inkluderet:
Livstidsadgang
27 videolektioner
7 timers undervisning
Stil spørgsmål
Kursusbevis

Information om denne video

Underviser: Simon Rotendahl   Video: 18:48   Lektion nr. 9 af 27

Hvordan håndterer jeg lister?

I videoen her skal vi kigge på løkker, endnu en fundamental del af programmering. Løkker bruger vi når vi vil gøre en ting flere gange, når vi vil søge efter noget i en samling, og meget mere. En lykke fungere ved at vi bliver ved med at køre et stykke kode, indtil en betingelse er mødt. For for loops vil betingelsen være at vi stopper når vi har kørt løkken et bestemt antal gange. For while loops vil betingelsen være et betinget udtryk (som vi har set tidligere).

Det oplagte eksempel for løkker, er lister. Med en løkke kan vi gå igennem alle elementer i en liste, og f.eks ligge dem sammen, se hvor mange tal er lige, se hvor mange strenge indeholde ordet ‘øl’. Løkker er essentielle for programmering, så jeg opfordre dig kraftigt, til at øve dig i det.

Næste video handler om dictionaries, en variation på lister!

Spørgsmål og kommentarer

Kun medlemmer med adgang til dette kursus kan stille spørgsmål og kommentere. Bliv medlem her!

  • Allan C. siger:

    Hej Simon

    Tak for et super godt kursus ind til videre! :-)
    Jeg er løbet i mit første problem vedr. gennemsnitsalder.

    Denne virker fint:

    alder = [9,13,43,44]
    sum_alder = 0
    print(“Længde på listen alder:”,len(alder))
    for var_G in range(len(alder)):
    sum_alder = sum_alder + alder[var_G]
    print(“Samlet alder:”,sum_alder)
    sum_alder = sum_alder / len(alder)
    print(“Gennemsnitsalder i vores familie =”,sum_alder)

    Men når jeg prøver at lave det som en funktion, kan jeg ikke få det til at virke?:

    alder = [9,13,43,44]
    sum_alder = 0
    print(“Længde på listen alder:”,len(alder))
    def samlet_alder(liste_alder):
    for var_G in range(len(liste_alder)):
    sum_alder = sum_alder + liste_alder[var_G]
    print(“Samlet alder:”,sum_alder)
    return sum_alder
    samlet_alder(alder)
    sum_alder = sum_alder / len(alder)
    print(“Gennemsnitsalder i vores familie =”,sum_alder)

    Får følgende fejl jeg ikke kan gennemskue:
    local variable ‘sum_alder’ referenced before assignment

    1. Simon R. siger:

      Hej Allan,
      Tak for de pæne ord.

      Problemet kommer fra at sum_alder er defineret ude for din funktion. Du kan ikke som standard benytte variabler som er defineret udenfor funktioner, inde i funktioner. Du kan fikse dette på to måder:
      1) Hvis du gerne vil have dit variable udenfor, sådan at du kan bruge det bagefter, som du gør nu, så skal du inde i din funktion skrive “global sum_alder” på en linje (uden gåseøjne, det var bare lige for at vise præcis hvad du skal skrive). Dette fortæller din funktion at den skal bruge det variabel udenfor din funktion.
      2) Ellers så skal du definere dit variabel inde i funktionen, og så returnere det også.

      Du siger bare til hvis du har brug for mere forklaring, metode 2 nævnte jeg kun kort, så hvis du gerne vil det, må du lige skrive igen :)

      Mvh.
      Simon