Kontrollflyt i Python

Kontrollflyt i Python

Denne artikkelen forklarer kontrollflyt i Python.

YouTube Video

If-setning i Python

If-setningen i Python er en syntaks for betinget forgrening. Den brukes til å utføre en blokk med kode hvis en spesifikk betingelse evalueres til True (sann).

Grunnleggende Syntax

If-setningen i Python følger i utgangspunktet 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 eksempelet blir "x er større enn 5" skrevet ut hvis variabelen x er større enn 5.

Else-setning

Ved å bruke else etter en if-setning kan du spesifisere kode som skal kjøres når betingelsen er usann.

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 eksempelet vil resultatet være "x er mindre enn eller lik 5".

Elif-setning

Hvis du trenger å sjekke flere betingelser, kan du bruke 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 eksempelet blir "x er lik 5" skrevet ut.

Notater

  • En kolon (:) er påkrevd etter if, elif eller else.
  • Koden som kjøres når en betingelse er sann, må være innrykket. I Python er standard innrykk vanligvis 4 mellomrom, men andre antall mellomrom er også greit så lenge du er konsekvent.
  • Du kan bruke alle uttrykk som evalueres til en boolsk verdi som en betingelse. Dette betyr at du kan bruke betingede uttrykk kombinert med sammenlignings- eller logiske operatorer.

Å mestre if-setningen i Python lar deg kontrollere programflyten på en fleksibel måte.

Flere betingede forgreninger i Python

Det finnes flere måter å implementere en switch-lignende funksjonalitet i Python, liknende som i andre språk. I Python er det vanlig å bruke if-elif-else-setninger eller ordbøker for å lage strukturer som ligner en switch-setning.

Metode 1: if-elif-else-uttalelse

Den enkleste måten er å bruke if-elif-else-uttalelsen for 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: Bruke ordlister

Ved å kartlegge funksjoner eller verdier til en ordbok, er det mulig å lage en struktur som ligner på en switch-uttalelse. Dette er praktisk når du vil utføre forskjellige operasjoner for spesifikke verdier.

 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-uttalelse (Python 3.10 og nyere)

match-uttalelsen ble introdusert i Python 3.10. Det er en mønstermatchingssyntaks som gir funksjonalitet som ligner på en switch-uttalelse.

 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-uttalelse: Enkel og tilpassbar til mange tilfeller.
  • Ordlister: Bruk kartlegging av funksjoner eller verdier for å muliggjøre effektiv forgrening.
  • match-uttalelse: Tillater mer intuitiv forgrening i Python 3.10 og nyere. Mest lik en switch-uttalelse.

For-løkker i Python

for-setningen i Python brukes til å iterere over hvert element i et itererbart objekt, som en liste, streng eller ordbok. Den grunnleggende syntaksen for en for-uttalelse 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 noen spesifikke eksempler:.

Eksempel med en liste

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

Denne koden kaller print-funksjonen for hvert element i listen fruits og skriver ut navnet på hver frukt.

Eksempel med range()

range()-funksjonen genererer heltall innenfor et spesifisert område og er nyttig for numeriske iterasjoner.

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

range(5) genererer heltall fra 0 til 4. I dette tilfellet vil 0, 1, 2, 3, 4 bli skrevet ut sekvensielt.

Eksempel med en ordbok

For ordbøker blir nøklene iterert som standard, men du kan også hente nøkkel-verdi-par.

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

Alternativt kan du bruke items()-metoden for å hente nøkler og verdier samtidig.

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

Nestede for-løkker

Det er også mulig å neste for-løkker for å utføre komplekse iterasjonsprosesser.

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

Denne koden itererer gjennom hver rad i listen matrix og skriver sekvensielt ut tallene i hver rad.

continue for å hoppe over en iterasjon og break for å avslutte en løkke

Å bruke continue i en for-løkke vil hoppe over den gjeldende iterasjonen og fortsette til den neste. I tillegg vil bruk av break avslutte løkken helt.

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

I dette eksempelet hopper løkken over når i er 5 og avsluttes når i er 8. Dermed vil utdataene være 0, 1, 2, 3, 4, 6, 7.

for-løkka i Python er svært fleksibel og kan brukes i en rekke ulike scenarier. Avhengig av hvilken type iterativ prosessering du vil utføre, kan den brukes i kombinasjon med lister, ordbøker, strenger og range().

while-løkke i Python

I Python er while-løkken en kontrollstruktur som brukes til å gjentatte ganger kjøre kode i blokken så lenge betingelsen er True. Den grunnleggende syntaksen for en while-løkke 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 eksempelet brukes en while-løkke for å skrive ut tallene fra 1 til 5.

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

Denne koden fungerer som følger.

  • Start med i som 1, skriv ut i så lenge det er mindre enn eller lik 5, og øk i med 1 for hver gang.

Merk:

Du må huske på følgende punkter når du bruker while-setningen.

  1. Vær oppmerksom på uendelige løkker

    • Hvis betingelsen i en while-løkke alltid er True, vil det resultere i en uendelig løkke. Egnede operasjoner må utføres for å endre betingelsen; ellers vil programmet ikke stoppe.
  2. Bruk av break og continue:

    • break brukes når du vil avslutte løkken før tiden.
    • continue hopper over den nåværende iterasjonen og starter den neste. Vær forsiktig, siden feilaktige løkkebetingelser kan føre til 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 tilfellet, etter at 1 og 2 er skrevet ut, avsluttes løkken når i blir 3.

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 tilfellet hoppes det kun over utskriften for 3, noe som resulterer i 1, 2, 4, 5.
  • Ved å øke verdien av i i begynnelsen av løkken, går telleren videre selv om continue kjøres, og du unngår en uendelig løkke.

Du kan følge med på artikkelen ovenfor ved å bruke Visual Studio Code på vår YouTube-kanal. Vennligst sjekk ut YouTube-kanalen.

YouTube Video