Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära For-Loopar | Loopar
Introduktion till Python

Svep för att visa menyn

book
For-Loopar

Välkommen till avsnittet som är dedikerat till loopar!

I detta kapitel kommer vi att fördjupa oss i hur loopar fungerar som ett nyckelverktyg för automatisering av repetitiva uppgifter och är nödvändiga för att effektivt hantera listor och andra itererbara datatyper.

Följ med Alex när han demonstrerar användningen av for-loopar för att förenkla operationer i vår livsmedelsbutik:

Användningen av for-loopar i Python gör att du kan köra en kodblock upprepade gånger för varje objekt i en samling (itererbart objekt). Här är vad du behöver veta om for-loopar:

Syntax

Initiera en for-loop med nyckelordet for, följt av ett variabelnamn som item för att representera varje element i sekvensen. Detta följs av nyckelordet in och sedan det itererbara objektet som groceryItems. Kodblocket inom loopen körs en gång för varje element.

I detta exempel fungerar item som iteratorvariabeln som sekventiellt får tillgång till varje element i groceryItems-listan och kör print()-funktionen för varje:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Iteration avser processen att köra en kodblock upprepade gånger. Python stöder två huvudtyper av iteration:

Bestämd Iteration

Där antalet iterationer är känt i förväg. for-loopar är ett klassiskt exempel, som automatiskt stoppar när de når slutet av sekvensen.

Obestämd Iteration

Där körningen fortsätter tills ett specifikt villkor är uppfyllt, vanligtvis hanterat av while-loopar, som kommer att utforskas i detalj i det kommande kapitlet.

Exempelapplikationer

for-loopar i Python kan användas med vilket itererbart objekt som helst (lists, tuples, dictionaries, strings), vilket möjliggör datamanipulation på en per-element basis.

Oavsett om du behöver komma åt objekt i en lista, nycklar eller värden i en ordbok, eller tecken i en sträng, ger for-loopar en tydlig syntax som förenklar koden för repetitiva uppgifter.

Här är hur du kan använda en for-loop för att iterera över elementen i en sträng och en tuppel, liknande hur vi såg med listor:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

När du använder en for-loop med en ordbok, kommer iteration direkt över ordboken att loopa genom dess nycklar som standard.

Här är vad du kan förvänta dig när du direkt itererar över en ordbok:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Observera hur iteratorvariabeln product endast får åtkomst till ordbokens nycklar.

För att iterera över värdena i en ordbok, kan du använda metoden values().

Detta är användbart för operationer som kräver åtkomst till värden utan att behöva referera till nycklarna:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Om du behöver komma åt nycklar och värden samtidigt, tillåter items()-metoden dig att loopa genom nyckel-värde-par i en ordbok.

För att använda denna metod i en for-loop, specificerar vi två variabler före in-nyckelordet — en för nyckeln (product) och en för värdet (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Notera

I detta exempel använder vi f-strängar (även kända som formaterade stränglitteraler) för att bädda in variabler direkt i strängar. Syntaxen är enkel: lägg till ett f före det öppnande citattecknet ", och placera variabler eller uttryck inom klammerparenteser {} i strängen. Denna metod gör det mycket mer läsbart att kombinera strängar och variabler i utskriftsuttryck, så det är värt att lära sig.

Med hjälp av din kunskap om if/else, booleska operatorer och for-loopar kan vi köra en enkel inventeringskontroll på en ordbok:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Notera

Du kanske märker att vi har placerat if-satser inuti for-loopen, vilket lade till extra indrag till if-blocket. Som nämnts tidigare kan varje indraget kodblock behandlas som oberoende, oavsett var det är placerat. Nyckeln är att säkerställa att indragningen är konsekvent och korrekt mellan dem.

Uppgift

Swipe to start coding

Hantera lager och kampanjer i en livsmedelsbutik genom att loopa genom inventeringen, kontrollera påfyllningsvillkor och tillämpa kampanjer.

  • Loop genom varje produkt i inventory-ordlistan.
  • Inuti loopen, hämta current_stock och min_stock från inventeringslistan.
  • Använd ett if-uttalande för att kontrollera om nuvarande lager är mindre än eller lika med minimilager:
    • Om så är fallet, skriv ut ett påfyllningsmeddelande, öka lagret med 20, uppdatera inventeringen och skriv ut uppdateringsmeddelandet.
  • Använd ett annat if-uttalande för att kontrollera om produkten finns i promotions-ordlistan.

Utdata krav

För varje artikel, skriv ut:

  • --- Processing: <item> ---

  • Om påfyllning behövs:
    <item> behöver påfyllning. Nuvarande lager: <current_stock>. Minimikrav: <min_stock>

    Uppdaterat lager för <item>: <updated_stock>

  • Om kampanj finns:
    Kampanj för <item>: <promotion_details>

  • Om inte:
    Inga kampanjer för <item>

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 1
Vi beklagar att något gick fel. Vad hände?

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

book
For-Loopar

Välkommen till avsnittet som är dedikerat till loopar!

I detta kapitel kommer vi att fördjupa oss i hur loopar fungerar som ett nyckelverktyg för automatisering av repetitiva uppgifter och är nödvändiga för att effektivt hantera listor och andra itererbara datatyper.

Följ med Alex när han demonstrerar användningen av for-loopar för att förenkla operationer i vår livsmedelsbutik:

Användningen av for-loopar i Python gör att du kan köra en kodblock upprepade gånger för varje objekt i en samling (itererbart objekt). Här är vad du behöver veta om for-loopar:

Syntax

Initiera en for-loop med nyckelordet for, följt av ett variabelnamn som item för att representera varje element i sekvensen. Detta följs av nyckelordet in och sedan det itererbara objektet som groceryItems. Kodblocket inom loopen körs en gång för varje element.

I detta exempel fungerar item som iteratorvariabeln som sekventiellt får tillgång till varje element i groceryItems-listan och kör print()-funktionen för varje:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Iteration avser processen att köra en kodblock upprepade gånger. Python stöder två huvudtyper av iteration:

Bestämd Iteration

Där antalet iterationer är känt i förväg. for-loopar är ett klassiskt exempel, som automatiskt stoppar när de når slutet av sekvensen.

Obestämd Iteration

Där körningen fortsätter tills ett specifikt villkor är uppfyllt, vanligtvis hanterat av while-loopar, som kommer att utforskas i detalj i det kommande kapitlet.

Exempelapplikationer

for-loopar i Python kan användas med vilket itererbart objekt som helst (lists, tuples, dictionaries, strings), vilket möjliggör datamanipulation på en per-element basis.

Oavsett om du behöver komma åt objekt i en lista, nycklar eller värden i en ordbok, eller tecken i en sträng, ger for-loopar en tydlig syntax som förenklar koden för repetitiva uppgifter.

Här är hur du kan använda en for-loop för att iterera över elementen i en sträng och en tuppel, liknande hur vi såg med listor:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

När du använder en for-loop med en ordbok, kommer iteration direkt över ordboken att loopa genom dess nycklar som standard.

Här är vad du kan förvänta dig när du direkt itererar över en ordbok:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Observera hur iteratorvariabeln product endast får åtkomst till ordbokens nycklar.

För att iterera över värdena i en ordbok, kan du använda metoden values().

Detta är användbart för operationer som kräver åtkomst till värden utan att behöva referera till nycklarna:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Om du behöver komma åt nycklar och värden samtidigt, tillåter items()-metoden dig att loopa genom nyckel-värde-par i en ordbok.

För att använda denna metod i en for-loop, specificerar vi två variabler före in-nyckelordet — en för nyckeln (product) och en för värdet (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Notera

I detta exempel använder vi f-strängar (även kända som formaterade stränglitteraler) för att bädda in variabler direkt i strängar. Syntaxen är enkel: lägg till ett f före det öppnande citattecknet ", och placera variabler eller uttryck inom klammerparenteser {} i strängen. Denna metod gör det mycket mer läsbart att kombinera strängar och variabler i utskriftsuttryck, så det är värt att lära sig.

Med hjälp av din kunskap om if/else, booleska operatorer och for-loopar kan vi köra en enkel inventeringskontroll på en ordbok:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Notera

Du kanske märker att vi har placerat if-satser inuti for-loopen, vilket lade till extra indrag till if-blocket. Som nämnts tidigare kan varje indraget kodblock behandlas som oberoende, oavsett var det är placerat. Nyckeln är att säkerställa att indragningen är konsekvent och korrekt mellan dem.

Uppgift

Swipe to start coding

Hantera lager och kampanjer i en livsmedelsbutik genom att loopa genom inventeringen, kontrollera påfyllningsvillkor och tillämpa kampanjer.

  • Loop genom varje produkt i inventory-ordlistan.
  • Inuti loopen, hämta current_stock och min_stock från inventeringslistan.
  • Använd ett if-uttalande för att kontrollera om nuvarande lager är mindre än eller lika med minimilager:
    • Om så är fallet, skriv ut ett påfyllningsmeddelande, öka lagret med 20, uppdatera inventeringen och skriv ut uppdateringsmeddelandet.
  • Använd ett annat if-uttalande för att kontrollera om produkten finns i promotions-ordlistan.

Utdata krav

För varje artikel, skriv ut:

  • --- Processing: <item> ---

  • Om påfyllning behövs:
    <item> behöver påfyllning. Nuvarande lager: <current_stock>. Minimikrav: <min_stock>

    Uppdaterat lager för <item>: <updated_stock>

  • Om kampanj finns:
    Kampanj för <item>: <promotion_details>

  • Om inte:
    Inga kampanjer för <item>

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 1
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt