Modul 9 – For-løkker og ranges
Computerspace · FGU · Programmering i Python
🔄 for – iterér over sekvenser
En for-løkke kører automatisk igennem hvert element i en liste, string eller range. Prøv at loope over din egen liste med navne.
```python
for frugt in ["æble", "banan", "kiwi"]:
print(f"Jeg spiser {frugt}")
for bogstav in "Python":
print(bogstav)```
---
🔢 range()
range() genererer en talsekvens uden at bruge unødig hukommelse. Prøv alle tre varianter: range(stop), range(start, stop) og range(start, stop, step).
```python
for i in range(5): print(i) # 0,1,2,3,4
for i in range(1, 6): print(i) # 1,2,3,4,5
for i in range(0, 11, 2): print(i) # 0,2,4,6,8,10
for i in range(5, 0, -1): print(i) # 5,4,3,2,1```
---
🔢 enumerate() og zip()
enumerate() giver dig indekset og elementet på samme tid – perfekt til nummererede lister. zip() kombinerer to lister element-for-element uden løkketæller.
```python
navne = ["Anna", "Bo", "Carla"]
point = [95, 80, 72]
for i, navn in enumerate(navne):
print(f"{i+1}. {navn}")
for navn, p in zip(navne, point):
print(f"{navn}: {p} point")```
---
⚡ List Comprehension
List comprehension opretter en ny liste i én kompakt linje. Start med [x for x in liste] og tilføj eventuelt en if-betingelse bagefter.
```python
kvadrater = [x**2 for x in range(10)]
lige = [x for x in range(20) if x % 2 == 0]
print(kvadrater)
print(lige)```
---
🎓 Læringsmål for Modul 9
Læringsmål
- Bruge for til at iterére over lister og ranges
- Bruge range() med start, stop og step
- Bruge enumerate() og zip()
- Skrive list comprehensions med betingelser
- Løse FizzBuzz med for-løkker
Sådan kan du arbejde med emnet
- Hvad er forskellen på range(5) og range(1,6)?
- Hvornår bruger man enumerate()?
- Hvad er list comprehension?
- Hvordan laver jeg baglæns tæller?
⚠️ Typiske fejl
- range(1,10) inkluderer ikke 10
- Ændrer liste under iteration
---
💡 Næste skridt: Modul 10 – Quiz-program
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis