Kontrolflow i Python

Kontrolflow i Python

Denne artikel forklarer kontrolflow i Python.

YouTube Video

If-sætning i Python

If-sætningen i Python er en syntaks til betinget forgrening. Den bruges til at udføre en kodeblok, hvis en bestemt betingelse evalueres til True (sand).

Grundlæggende syntaks

If-sætningen i Python følger grundlæggende strukturen nedenfor.

1x = 10
2
3if x > 5: # Check if the condition(x > 5) is True
4    # If the condition is True, execute this code block
5    print("x is greater than 5")

I dette eksempel udskrives "x er større end 5", hvis variablen x er større end 5.

Else-sætning

Ved at bruge else efter en if-sætning kan du angive kode, der skal udføres, når betingelsen er falsk.

1x = 3
2
3if x > 5:
4    print("x is greater than 5")
5else:
6    print("x is less than or equal to 5")

I dette eksempel vil output være "x er mindre end eller lig med 5".

Elif-sætning

Hvis du har brug for at kontrollere flere betingelser, kan du bruge elif, som står for "else if".

1x = 5
2
3if x > 5:
4    print("x is greater than 5")
5elif x == 5:
6    print("x is equal to 5")
7else:
8    print("x is less than 5")

I dette eksempel udskrives "x er lig med 5".

Noter

  • En kolon (:) er påkrævet efter if, elif eller else.
  • Kodeblokken, der udføres, når en betingelse er sand, skal indrykkes. I Python er standardindrykningen normalt 4 mellemrum, men andre antal mellemrum er fint, så længe du er konsekvent.
  • Du kan bruge enhver udtryk, der evalueres til en boolesk værdi, som en betingelse. Det betyder, at du kan bruge betingede udtryk kombineret med sammenlignings- eller logiske operatorer.

At mestre Pythons if-sætning gør, at du fleksibelt kan kontrollere programmets udførelsesflow.

Flere betingede forgreninger i Python

Der er flere måder at implementere en switch-lignende funktionalitet i Python, ligesom i andre sprog. I Python er det almindeligt at bruge if-elif-else-sætninger eller ordbøger til at skabe strukturer, der ligner en switch-sætning.

Metode 1: if-elif-else-sætning

Den enkleste måde er at bruge if-elif-else-sætningen til betinget forgrening.

 1def switch_example(value):
 2    if value == 1:
 3        return "Value is one"
 4    elif value == 2:
 5        return "Value is two"
 6    elif value == 3:
 7        return "Value is three"
 8    else:
 9        return "Unknown value"
10
11print(switch_example(1))  # Output: Value is one
12print(switch_example(4))  # Output: Unknown value

Metode 2: Brug af ordbøger

Ved at kortlægge funktioner eller værdier til en ordbog er det muligt at oprette en struktur, der ligner en switch-sætning. Dette er praktisk, når du vil udføre forskellige operationer for specifikke værdier.

 1def case_one():
 2    return "Value is one"
 3
 4def case_two():
 5    return "Value is two"
 6
 7def case_default():
 8    return "Unknown value"
 9
10def switch_example(value):
11    switch_dict = {
12        1: case_one,
13        2: case_two
14    }
15
16    # Use get() method to retrieve the corresponding function from the dictionary
17    # If the value is not found in the dictionary, use case_default as a fallback
18    return switch_dict.get(value, case_default)()
19
20print(switch_example(1))  # Output: Value is one
21print(switch_example(3))  # Output: Unknown value

Metode 3: match-sætning (Python 3.10 og nyere)

match-sætningen blev introduceret i Python 3.10. Det er en mønstermatchingssyntaks, der giver funktionalitet tilsvarende en switch-sætning.

 1def switch_example(value):
 2    match value:
 3        case 1:
 4            return "Value is one"
 5        case 2:
 6            return "Value is two"
 7        case 3:
 8            return "Value is three"
 9        case _:
10            return "Unknown value"
11
12print(switch_example(1))  # Output: Value is one
13print(switch_example(4))  # Output: Unknown value

Sammendrag

  • if-elif-else-sætning: Simpel og tilpasningsdygtig til mange tilfælde.
  • Ordbøger: Brug kortlægninger af funktioner eller værdier for at muliggøre effektiv forgrening.
  • match-sætning: Muliggør mere intuitiv forgrening i Python 3.10 og nyere. Tættest på en switch-sætning.

For-løkker i Python

for-sætningen i Python bruges til at iterere over hvert element i et itererbart objekt, såsom en liste, streng eller ordbog. Den grundlæggende syntaks for en for-sætning er som følger:.

1# Loop through each item in the iterable
2for variable in iterable:
3    # Execute this block of code for each item in the iterable
4    code_to_execute

Her er nogle specifikke eksempler:.

Eksempel ved brug af en liste

1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3    print(fruit)

Denne kode kalder print-funktionen for hvert element i listen fruits og udskriver navnet på hver frugt.

Eksempel ved brug af range()

range()-funktionen genererer heltal inden for et specificeret interval og er nyttig til numeriske iterationer.

1for i in range(5):
2    print(i)

range(5) genererer heltal fra 0 til 4. I dette tilfælde vil 0, 1, 2, 3, 4 blive outputtet sekventielt.

Eksempel ved brug af en ordbog

For ordbøger itereres nøgler som standard, men du kan også hente nøgle-værdi-par.

1person = {"name": "Alice", "age": 25}
2for key in person:
3    print(key, person[key])

Alternativt kan du bruge metoden items() til samtidigt at hente nøgler og værdier.

1person = {"name": "Alice", "age": 25}
2for key, value in person.items():
3    print(key, value)

Indlejret for-løkke

Det er også muligt at indlejre for-løkker for at udføre komplekse iterationsprocesser.

1matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
2for row in matrix:
3    for num in row:
4        print(num)

Denne kode itererer gennem hver række i listen matrix og udskriver sekventielt tallene i hver række.

continue bruges til at springe en iteration over, og break bruges til at afslutte en løkke

Ved at bruge continue i en for-løkke springes den aktuelle iteration over, og den fortsætter med den næste. Derudover vil break fuldstændigt afslutte løkken.

1for i in range(10):
2    if i == 5:
3        continue
4    if i == 8:
5        break
6    print(i)

I dette eksempel springer løkken over, når i er 5, og afsluttes, når i er 8. Således vil output være 0, 1, 2, 3, 4, 6, 7.

For-løkker i Python er meget fleksible og kan bruges i en række forskellige scenarier. Afhængigt af hvilken type iterativ behandling du vil udføre, kan den bruges i kombination med lister, ordbøger, strenge og range().

while-løkke i Python

I Python er while-løkken en kontrolstruktur, der bruges til gentagne gange at udføre kode inden for blokken, så længe betingelsen forbliver True. Den grundlæggende syntaks for while-løkken er som følger:.

1while condition:
2    # This block of code will be executed repeatedly as long as the condition is true
3    statement1
4    statement2
5    ...

Eksempel:

I det følgende eksempel bruges en while-løkke til at udskrive tallene fra 1 til 5.

1i = 1
2while i <= 5:
3    print(i)
4    i += 1

Denne kode fungerer som følger.

  • Start med i som 1, udskriv i, så længe den er mindre end eller lig med 5, og øg i med 1 hver gang.

Bemærk:

Du skal huske følgende punkter, når du bruger while-sætningen.

  1. Vær opmærksom på uendelige løkker

    • Hvis betingelsen i en while-løkke altid er True, vil det resultere i en uendelig løkke. Passende operationer skal udføres for at ændre betingelsen; ellers vil programmet ikke stoppe.
  2. Brug af break og continue:

    • break bruges, når du vil afslutte løkken før tid.
    • continue springer den nuværende iteration over og starter den næste. Vær forsigtig, da forkerte løkkebetingelser kan resultere i en uendelig løkke.

Eksempel på break:

1i = 1
2while i <= 5:
3    if i == 3:
4        break  # Exit the loop when i becomes 3
5    print(i)
6    i += 1
  • I dette tilfælde standser løkken, når i bliver 3, efter 1 og 2 er blevet outputtet.

Eksempel på continue:

1i = 0
2while i < 5:
3    i += 1
4    if i == 3:
5        # Skip the print statement and move to the next loop iteration when i is 3
6        continue
7    print(i)
  • I dette tilfælde springes outputtet kun over for 3, hvilket resulterer i 1, 2, 4, 5.
  • Ved at øge værdien af i i begyndelsen af løkken går tælleren videre, selvom continue udføres, hvilket forhindrer en uendelig løkke.

Du kan følge med i ovenstående artikel ved hjælp af Visual Studio Code på vores YouTube-kanal. Husk også at tjekke YouTube-kanalen.

YouTube Video