Modul 8 – While-løkker
Computerspace · FGU · Programmering i Python
🔄 while – gentag så længe betingelsen er sand
En while-løkke gentager kodeblokken indtil betingelsen bliver falsk. Husk altid at opdatere tællervariablen – ellers løber løkken for evigt!
```python
taeller = 1
while taeller <= 5:
print(f"Tal: {taeller}")
taeller += 1 # Husk denne linje!
print("Færdig!")```
---
⚠️ while True + break
while True opretter en uendelig løkke der kun stoppes af break. Dette er standardmønsteret for menuer og input-validering.
```python
while True:
svar = input("Skriv 'stop': ")
if svar == "stop":
break
print(f"Du skrev: {svar}")```
---
⏭️ continue – spring resten over
continue springer resten af den aktuelle iteration over og starter straks på den næste. Nyttigt til at filtrere uønskede værdier fra i en løkke.
```python
tal = 0
while tal < 10:
tal += 1
if tal % 2 == 0:
continue # Spring over lige tal
print(tal) # Printer kun ulige: 1,3,5,7,9```
---
🧮 Øvelse: Input-validering
<div class="exercise-task-desc">Prøv selv: Skriv en while-løkke der bliver ved med at spørge om en alder (0-120) — accepter kun gyldige tal og print en fejlmeddelelse ved ugyldigt input.</div>
<div class="exercise-hints">
<strong>💡 Sådan starter du:</strong>
<ul>
<li>Brug en løkke der bliver ved, til du modtager gyldigt input</li>
<li>To ting skal tjekkes: er det overhovedet et tal? og er det inden for 0–120?</li>
<li>Python har en string-metode der kan afgøre om en string kun indeholder cifre</li>
<li>Kombiner begge tjek med <code>and</code> — og afslut løkken når begge er opfyldt</li>
</ul>
</div>
<details class="exercise-reveal">
<summary>👆 Klik for at se et eksempel</summary>
<div class="reveal-content">
```python
while True:
inp = input("Alder (0-120): ")
if inp.isdigit() and 0 <= int(inp) <= 120:
print(f"Tak! Du er {inp} år.")
break
print("Ugyldigt, prøv igen.")```
</div>
</details>
---
🎓 Læringsmål for Modul 8
Læringsmål
- Skrive while-løkker med korrekt betingelse
- Bruge while True med break til menuer
- Bruge continue til at springe over
- Undgå uendelige løkker
- Bygge input-validering med while
Sådan kan du arbejde med emnet
- Hvad er forskellen på while og for?
- Hvornår bruger man while True?
- Hvad gør break og continue?
- Hvordan undgår jeg uendelig løkke?
⚠️ Typiske fejl
- Glemmer at opdatere tælleren – uendelig løkke!
- Off-by-one –
<vs<=
---
💡 Næste skridt: Modul 9 – For-løkker og ranges
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis