Kontrollflöde i Python

Kontrollflöde i Python

Den här artikeln förklarar kontrollflöde i Python.

YouTube Video

If-sats i Python

If-satsen i Python är en syntax för villkorad grenning. Den används för att köra en kodblock om ett specifikt villkor är True (sant).

Grundläggande syntax

If-satsen i Python följer i princip strukturen nedan.

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 detta exempel skrivs "x är större än 5" ut om variabeln x är större än 5.

Else-sats

Genom att använda else efter en if-sats kan du ange kod som ska köras när villkoret är falskt.

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 detta exempel kommer resultatet att vara "x är mindre än eller lika med 5".

Elif-sats

Om du behöver kontrollera flera villkor kan du använda elif, vilket står för "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 detta exempel skrivs "x är lika med 5" ut.

Anteckningar

  • Ett kolon (:) krävs efter if, elif eller else.
  • Kodblocket som körs när ett villkor är sant måste indenteras. I Python är standardindentationen vanligtvis 4 blanksteg, men andra antal blanksteg fungerar också så länge du är konsekvent.
  • Du kan använda vilket uttryck som helst som utvärderas till ett booleskt värde som villkor. Detta betyder att du kan använda villkorsuttryck kombinerade med jämförelse- eller logiska operatorer.

Genom att bemästra Pythons if-sats kan du flexibelt styra programmets exekveringsflöde.

Flera villkorsgreningar i Python

Det finns flera sätt att implementera en switch-liknande funktionalitet i Python, liknande den i andra språk. I Python är det vanligt att använda if-elif-else-satser eller ordböcker för att skapa strukturer som liknar en switch-sats.

Metod 1: if-elif-else-sats

Det enklaste sättet är att använda if-elif-else-satsen för villkorlig grenkontroll.

 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

Metod 2: Användning av ordböcker

Genom att koppla funktioner eller värden till en ordbok kan man skapa en struktur som liknar en switch-sats. Detta är praktiskt när du vill utföra olika operationer för specifika värden.

 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

Metod 3: match-sats (Python 3.10 och senare)

match-satsen introducerades i Python 3.10. Det är en mönstermatchningssyntax som ger funktionalitet liknande en switch-sats.

 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

Sammanfattning

  • if-elif-else-sats: Enkel och anpassningsbar till många fall.
  • Ordböcker: Använd kopplingar mellan funktioner eller värden för att möjliggöra effektiv grenkontroll.
  • match-sats: Möjliggör mer intuitiv grenkontroll i Python 3.10 och senare. Mest lik en switch-sats.

For-loopar i Python

for-satsen i Python används för att iterera över varje element i ett itererbart objekt som en lista, sträng eller ordbok. Den grundläggande syntaxen för en for-sats är följande:.

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

Här är några specifika exempel:.

Exempel med en lista

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

Den här koden anropar print-funktionen för varje element i listan fruits och skriver ut namnet på varje frukt.

Exempel med range()

range()-funktionen genererar heltal inom ett angivet intervall, vilket gör den användbar för numeriska iterationer.

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

range(5) genererar heltal från 0 till 4. I detta fall kommer 0, 1, 2, 3, 4 att skrivas ut sekventiellt.

Exempel med en ordbok

När det gäller ordböcker itereras nycklar som standard, men du kan även hämta nyckel-värde-par.

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

Alternativt, använd metoden items() för att samtidigt hämta nycklar och värden.

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

Nästad for-loop

Det är också möjligt att nästa for-loopar för att utföra komplexa itereringsprocesser.

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

Denna kod itererar genom varje rad i listan matrix och skriver sekventiellt ut numren i varje rad.

continue för att hoppa över en iteration och break för att avsluta en loop

Att använda continue i en for-loop hoppar över den aktuella iterationen och går vidare till nästa. Dessutom, att använda break kommer att avsluta loopen helt och hållet.

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

I detta exempel hoppar loopen över när i är 5 och avslutas när i är 8. Således kommer utmatningen att vara 0, 1, 2, 3, 4, 6, 7.

Pythons for-loop är mycket flexibel och kan användas i en mängd olika scenarier. Beroende på vilken typ av iterativ bearbetning du vill utföra, kan den användas i kombination med listor, ordböcker, strängar och range().

while-loop i Python

I Python är while-loopen en kontrollstruktur som används för att upprepade gånger köra kod inom blocket så länge villkoret förblir True. Den grundläggande syntaxen för while-loopen är som följer:.

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

Exempel:

I följande exempel används en while-loop för att skriva ut siffrorna från 1 till 5.

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

Denna kod fungerar enligt följande.

  • Börja med i som 1, skriv ut i så länge det är mindre än eller lika med 5, och öka i med 1 varje gång.

Observera:

Du behöver tänka på följande när du använder while-satsen.

  1. Var försiktig med oändliga loopar

    • Om villkoret i en while-loop alltid är True, leder det till en oändlig loop. Lämpliga operationer måste utföras för att ändra villkoret; annars kommer programmet inte att stoppa.
  2. Använda break och continue:

    • break används när du vill avsluta loopen i förtid.
    • continue hoppar över den aktuella iterationen och startar nästa. Var försiktig, eftersom felaktiga loopvillkor kan ge upphov till en oändlig loop.

Exempel 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 detta fall, efter att 1 och 2 har skrivits ut, avslutas loopen när i blir 3.

Exempel 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 detta fall hoppas utmatningen över endast för 3, vilket resulterar i 1, 2, 4, 5.
  • Genom att öka värdet på i i början av loopen går räknaren vidare även om continue körs, vilket förhindrar en oändlig loop.

Du kan följa med i artikeln ovan med hjälp av Visual Studio Code på vår YouTube-kanal. Vänligen kolla även in YouTube-kanalen.

YouTube Video