For-løkker
Velkommen til afsnittet dedikeret til løkker!
I dette kapitel udforsker vi, hvordan løkker fungerer som et centralt værktøj til automatisering af gentagne opgaver og er afgørende for effektiv håndtering af lister og andre iterérbare datatyper.
Følg med Alex, når han demonstrerer brugen af for-løkker til at forenkle opgaver i vores dagligvarebutik:
Brugen af for-løkker i Python gør det muligt at udføre en kodeblok gentagne gange for hvert element i en samling (iterérbart objekt). Her er, hvad du skal vide om for-løkker:
Syntaks
Start en for-løkke med nøgleordet for, efterfulgt af et variabelnavn såsom item til at repræsentere hvert element i sekvensen. Dette efterfølges af nøgleordet in og derefter det iterérbare objekt såsom groceryItems. Kodeblokken inden i løkken udføres én gang for hvert element.
I dette eksempel fungerer item som iteratorvariabel, der sekventielt tilgår hvert element i listen groceryItems og udfører funktionen print() for hver enkelt:
1234groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
Iteration henviser til processen med gentagen udførelse af en kodeblok. Python understøtter to hovedtyper af iteration:
Bestemt iteration
Hvor antallet af gentagelser er kendt på forhånd. for-løkker er et klassisk eksempel, som automatisk stopper når de når slutningen af sekvensen.
Ubestemt iteration
Hvor udførelsen fortsætter indtil en bestemt betingelse er opfyldt, typisk håndteret af while-løkker, som vil blive gennemgået mere detaljeret i det næste kapitel.
Eksempelapplikationer
for-løkker i Python kan bruges med ethvert itererbart objekt (lists, tuples, dictionaries, strings), hvilket muliggør datamanipulation for hvert enkelt element.
Uanset om du skal tilgå elementer i en liste, nøgler eller værdier i en ordbog, eller tegn i en streng, giver for-løkker en klar syntaks, der forenkler kode til gentagne opgaver.
Her ses, hvordan du kan bruge en for-løkke til at iterere over elementerne i en streng og en tuple, på samme måde som vi så med lister:
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)
Ved brug af et for-loop med et dictionary, vil iteration direkte over dictionary som standard gennemløbe dets nøgler.
Her er hvad du kan forvente, når du itererer direkte over et dictionary:
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)
Bemærk, at iteratorvariablen product kun tilgår ordbogens nøgler.
For at iterere over værdierne i en ordbog kan du bruge metoden values().
Dette er nyttigt til operationer, hvor der kun er behov for adgang til værdierne uden at referere til nøglerne:
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)
Hvis der er behov for at tilgå nøgler og værdier samtidigt, giver metoden items() mulighed for at gennemløbe nøgle-værdi-par i en ordbog.
For at bruge denne metode i et for-loop angives to variabler før in-nøgleordet — én for nøglen (product) og én for værdien (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.")
Bemærk
I dette eksempel anvendes f-strenge (også kendt som formaterede streng-litteraler) til at indsætte variable direkte i strenge. Syntaksen er enkel: tilføj et
ffør det indledende anførselstegn", og placer variable eller udtryk i krøllede parenteser{}inde i strengen. Denne metode gør det langt mere læsbart at kombinere strenge og variable i print-udtryk, så det er værd at lære.
Med udgangspunkt i din viden om if/else, boolske operatorer og for-løkker kan vi udføre et simpelt lagercheck på et dictionary:
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.")
Bemærk
Du vil måske bemærke, at vi har placeret
if-udsagn inde ifor-løkken, hvilket har tilføjet ekstra indrykning tilif-blokken. Som nævnt tidligere kan hver indrykket kodeblok behandles som uafhængig, uanset hvor den er placeret. Det vigtigste er at sikre, at indrykningen er konsekvent og korrekt mellem dem.
Swipe to start coding
Beregn samlet produktpris
Beregn den samlede pris for produkter ved at bruge en for-løkke til at iterere gennem en liste af priser.
- Opret en variabel
totalog sæt den til0. - Brug en for-løkke til at gennemløbe hver
pricei listenprices. - Læg hver
pricetil variablentotalinde i løkken. - Udskriv den endelige
total, når løkken er færdig.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 2.17
For-løkker
Stryg for at vise menuen
Velkommen til afsnittet dedikeret til løkker!
I dette kapitel udforsker vi, hvordan løkker fungerer som et centralt værktøj til automatisering af gentagne opgaver og er afgørende for effektiv håndtering af lister og andre iterérbare datatyper.
Følg med Alex, når han demonstrerer brugen af for-løkker til at forenkle opgaver i vores dagligvarebutik:
Brugen af for-løkker i Python gør det muligt at udføre en kodeblok gentagne gange for hvert element i en samling (iterérbart objekt). Her er, hvad du skal vide om for-løkker:
Syntaks
Start en for-løkke med nøgleordet for, efterfulgt af et variabelnavn såsom item til at repræsentere hvert element i sekvensen. Dette efterfølges af nøgleordet in og derefter det iterérbare objekt såsom groceryItems. Kodeblokken inden i løkken udføres én gang for hvert element.
I dette eksempel fungerer item som iteratorvariabel, der sekventielt tilgår hvert element i listen groceryItems og udfører funktionen print() for hver enkelt:
1234groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
Iteration henviser til processen med gentagen udførelse af en kodeblok. Python understøtter to hovedtyper af iteration:
Bestemt iteration
Hvor antallet af gentagelser er kendt på forhånd. for-løkker er et klassisk eksempel, som automatisk stopper når de når slutningen af sekvensen.
Ubestemt iteration
Hvor udførelsen fortsætter indtil en bestemt betingelse er opfyldt, typisk håndteret af while-løkker, som vil blive gennemgået mere detaljeret i det næste kapitel.
Eksempelapplikationer
for-løkker i Python kan bruges med ethvert itererbart objekt (lists, tuples, dictionaries, strings), hvilket muliggør datamanipulation for hvert enkelt element.
Uanset om du skal tilgå elementer i en liste, nøgler eller værdier i en ordbog, eller tegn i en streng, giver for-løkker en klar syntaks, der forenkler kode til gentagne opgaver.
Her ses, hvordan du kan bruge en for-løkke til at iterere over elementerne i en streng og en tuple, på samme måde som vi så med lister:
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)
Ved brug af et for-loop med et dictionary, vil iteration direkte over dictionary som standard gennemløbe dets nøgler.
Her er hvad du kan forvente, når du itererer direkte over et dictionary:
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)
Bemærk, at iteratorvariablen product kun tilgår ordbogens nøgler.
For at iterere over værdierne i en ordbog kan du bruge metoden values().
Dette er nyttigt til operationer, hvor der kun er behov for adgang til værdierne uden at referere til nøglerne:
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)
Hvis der er behov for at tilgå nøgler og værdier samtidigt, giver metoden items() mulighed for at gennemløbe nøgle-værdi-par i en ordbog.
For at bruge denne metode i et for-loop angives to variabler før in-nøgleordet — én for nøglen (product) og én for værdien (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.")
Bemærk
I dette eksempel anvendes f-strenge (også kendt som formaterede streng-litteraler) til at indsætte variable direkte i strenge. Syntaksen er enkel: tilføj et
ffør det indledende anførselstegn", og placer variable eller udtryk i krøllede parenteser{}inde i strengen. Denne metode gør det langt mere læsbart at kombinere strenge og variable i print-udtryk, så det er værd at lære.
Med udgangspunkt i din viden om if/else, boolske operatorer og for-løkker kan vi udføre et simpelt lagercheck på et dictionary:
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.")
Bemærk
Du vil måske bemærke, at vi har placeret
if-udsagn inde ifor-løkken, hvilket har tilføjet ekstra indrykning tilif-blokken. Som nævnt tidligere kan hver indrykket kodeblok behandles som uafhængig, uanset hvor den er placeret. Det vigtigste er at sikre, at indrykningen er konsekvent og korrekt mellem dem.
Swipe to start coding
Beregn samlet produktpris
Beregn den samlede pris for produkter ved at bruge en for-løkke til at iterere gennem en liste af priser.
- Opret en variabel
totalog sæt den til0. - Brug en for-løkke til at gennemløbe hver
pricei listenprices. - Læg hver
pricetil variablentotalinde i løkken. - Udskriv den endelige
total, når løkken er færdig.
Løsning
Tak for dine kommentarer!
single