python loops while
Deze video-tutorial legt de rol van Loops in Python uit, hun typen: For, While, Nested Loops met syntaxis en praktische programmeervoorbeelden:
We leerden over de vier verschillende Voorwaardelijke instructies in Python in onze vorige tutorial.
Loops zijn krachtige programmeerconcepten die worden ondersteund door bijna alle moderne programmeertalen. Het stelt een programma in staat iteraties te implementeren, wat in feite betekent dat hetzelfde blok code twee of meer keer moet worden uitgevoerd.
Hoewel ze worden ondersteund door alle moderne programmeertalen en vergelijkbare basisfunctionaliteit bieden, kunnen hun implementaties en syntaxis verschillen.
De Volledige trainingsserie over Python geeft je een kort idee van waar Python over gaat.
Wat je leert:
- Python Loops Video-zelfstudie
- Wat zijn Python-loops
- Voor Loop In Python
- De While-lus
- Geneste lus
- Python oneindige lussen
- Gevolgtrekking
Python Loops Video-zelfstudie
Wat zijn Python-loops
In Python worden instructies op een opeenvolgende manier uitgevoerd, d.w.z. als onze code uit meerdere regels code bestaat, begint de uitvoering op de eerste regel, gevolgd door de tweede, enzovoort.
Er zullen echter gevallen zijn waarin we willen dat een codeblok meerdere keren wordt uitgevoerd totdat aan een voorwaarde is voldaan. Dankzij loop-statements kunnen we precies dat doen.
Hieronder vindt u een stroomdiagram dat illustreert hoe een lusverklaring werkt.
Op basis van het bovenstaande diagram start een Python-programma op Begin [cirkel], en de uitvoering zal doorgaan naar de voorwaarde-instructie [Diamant], als de voorwaarde WAAR is, zal het programma het codeblok uitvoeren.
De uitvoering gaat weer verder met de voorwaarde-instructie en hetzelfde proces gaat elke keer verder als de voorwaarde TRUE is. Het breekt alleen uit de lus of stopt met het uitvoeren van het codeblok als de conditie FALSE is, en in dit geval zal het programma sequentieel doorgaan met de uitvoering.
Python heeft twee soorten loops.
| Lus type | Omschrijving |
---|---|---|
1 | for loop | Is een iteratorgebaseerde lus, die door de items van itereerbare objecten zoals lijsten, tupels, string loopt en een stuk code herhaaldelijk een aantal keren uitvoert, op basis van het aantal items in dat itereerbare object. |
twee | herhalingslus | Voert een blok met instructies herhaaldelijk uit, zolang de voorwaarde TRUE is. |
Deze twee soorten loops kunnen in elkaar worden gebruikt om te genereren Geneste lussen (hierover later meer).
Algemeen gebruik van Python-lussen
In Python kunnen loops worden gebruikt om geweldige en complexe problemen op te lossen. U zult waarschijnlijk problemen tegenkomen waarbij u een actie moet herhalen totdat aan een voorwaarde is voldaan (while-lus werkt hier het beste) of een probleem waarbij u een actie moet uitvoeren op een aantal items (for-lus werkt hier het beste).
Voor Loop In Python
De for loop werkt goed met itereerbare objecten zoals lijsten tupels snaren , enz. Op deze manier kunnen we door de items van deze objecten lopen en hun waarden manipuleren op basis van onze links.
De for loop is nul-geïndexeerd en heeft de volgende syntaxis.
De toestand in de for loop blijft alleen WAAR als het niet door alle items in het itereerbare object (n) is herhaald. Om het for loop , we zullen verschillende voorbeelden behandelen en tot slot zullen we werken aan een praktisch voorbeeld.
Voorbeeld 1:Druk nummers af van begin tot eind
Om dit te bereiken, zullen we de Python gebruiken bereik functie.
Dit is hoe het stroomdiagram eruit zal zien:
Uitvoer
In het bovenstaande voorbeeld hebben we Python-bereik gebruikt, wat een functie is die een reeks getallen retourneert, beginnend met een begin nummer (standaard 0), wordt verhoogd met een stap (Standaard 1), en stopt voor een einde aantal.
Voor dit voorbeeldhebben we het volgende:
Parameters en waarden voor de Python-bereikfunctie
Parameters | Waarde |
---|---|
begin | 1 |
einde | twintig |
stap | 1 (standaardwaarde) |
Zo onze for loop doorloopt een reeks getallen van 1 tot 20, en voor elke iteratie wordt het nummer afgedrukt. De iteratie stopt wanneer alle nummers in de reeks zijn bezocht.
Voorbeeld 2:Bepaal of een getal een priemgetal is.
In dit voorbeeld zullen we zien waarom de for loop is zo krachtig en nuttig. Hier zullen we door een reeks getallen herhalen en voor elk getal zullen we een berekening uitvoeren om te bepalen of een voorwaarde WAAR of ONWAAR is.
Het kan helpen om te weten onder welke voorwaarden een getal een priemgetal is.
- Het aantal is altijd positief, groter dan 1.
- Heeft geen andere positieve delers dan 1 en zichzelf.
Uitvoer wanneer invoer 13 is
Uitvoer wanneer invoer 10 is
Notitie: De als-anders gebruikt in het bovenstaande voorbeeld is een voorwaardelijke instructie en geen lus. Maar net als de herhalingslus (die we binnenkort zullen behandelen), gebruikt het de vergelijkingsoperatoren voor zijn toestand.
Voorbeeld - Zoek het aantal woorden in een tekst met de for Loop
In dit voorbeeld gaat het erom hoe vaak elk woord in een tekst voorkomt. Er zijn zoveel manieren waarop dit kan worden bereikt, maar voor dit voorbeeld zullen we de for loop
We tellen de woorden uit de onderstaande tekst.
Hallo, welkom bij Software Testing Help. In dit artikel: 'Loops in Python' leer je over loops met praktische voorbeelden. Geweldig toch? Zorg ervoor dat u meegaat terwijl we samen leren.
Veel plezier met coderen!
Het eerste dat we zullen doen, is interpunctie, witruimte en alle kleine letters verwijderen. We zullen interpunctie op de traditionele manier verwijderen door te identificeren welke interpunctie er in onze tekst voorkomen, en dan de for loop om ze te vervangen door een lege string.
Aangezien de tekst niet veel is, zien we dat de leestekens dat wel zijn komma's periode vraagteken dikke darm dubbel aanhalingsteken (“) En apostrof
Hieronder staat de code om ze te vervangen door een lege string. Merk op dat we apostrof niet zullen vervangen.
Uitvoer
Vervolgens splitsen we de tekst op in een lijst met woorden gescheiden door witruimte.
Uitvoer
Ten slotte zullen we tellen en zien hoe vaak elk woord voorkomt in de gesplitste tekst.
Uitvoer
We kunnen duidelijk zien dat sommige woorden twee keer voorkomen, en sommige slechts één keer. Laten we dit woordenboek in aflopende volgorde op waarde sorteren, zodat we een duidelijk onderscheid kunnen maken. Hier hebben we de Python gebruikt gesorteerde functie lambda-uitdrukking , en woordenboek begrip
beste verkooppuntsysteem voor ipad
Ten slotte hebben we de for loop om de woorden in onze tekst op te schonen, te tellen en te sorteren.
Hieronder staat de volledige code.
Laatste uitvoer
De While-lus
De Python herhalingslus voert een blok met instructies herhaaldelijk uit, zolang de voorwaarde TRUE is. We merken dat het een beetje lijkt op de als verklaring In tegenstelling tot de herhalingslus , wordt de if-instructie slechts één keer uitgevoerd als de voorwaarde TRUE is.
De while-lus heeft de volgende syntaxis:
In tegenstelling tot de for loop , de herhalingslus herhaalt een reeks niet. Het gebruikt de vergelijkingsoperatoren en booleans voor zijn toestand.
Laten we eens kijken naar enkele voorbeelden om beter te begrijpen hoe het wordt gebruikt.
Voorbeeld 1:Print 'Hallo wereld!' een aantal keren tellen
De herhalingslus controleert de conditie (tel
Dit is hoe het stroomdiagram eruit zal zien:
Uitgang:
Voorbeeld 2:Vind faculteit van een getal
De faculteit van een getal wordt weergegeven als n! en het heeft de formule
Het programma controleert of het getal 0 is en geeft 1 terug (faculteit van 0 is 1). Dan de herhalingslus controleert de voorwaarde (n> = 1) om te zien of onze n gelijk is aan 1 of groter dan 1. Elke keer dat deze voorwaarde WAAR is, berekent ons programma de formule in het lusblok
Laten we de while-lus gebruiken om het faculteitsprobleem op te lossen
testcases voor webapplicatie bij handmatig testen
Uitvoer
Voorbeeld - Zoek een Fibonacci-reeks tot en met de term met behulp van de While-lus
Een Fibonacci-reeks heeft de formule.
De eerste twee getallen zijn 0 en 1, daarna zijn de volgende getallen de som van de twee voorgaande getallen (n-1) th en (n-2) th.
De Fibonacci-reeks van 8 is 0,1,1,2,3,5,8,13
Uitvoer
Ons programma definieert eerst de eerste n-de waarde (n1 = 0), daarna controleert het of de doorgegeven n_term als argument gelijk is aan 1. Als TRUE, geeft het 0 terug.
Anders definieert het twee variabelen:
- count = 0: Dit wordt gebruikt in de herhalingslus om de conditie te controleren als het aantal kleiner is dan n_term (count
- n2 = 1: dit is onze tweede n-de waarde.
Tot nu toe hebben we 0,1 in onze reeks (n1, n2). Hoewel de voorwaarde WAAR is:
- De waarde van n2 wordt toegewezen aan een tijdelijke variabele (temp = n2).
- De som van de twee voorgaande getallen wordt berekend en toegewezen aan n2 (n2 = n1 + n2).
- Onze tijdelijke waarde (n2 oude waarde) wordt toegewezen aan n1 (n1 = temp).
- Onze telling wordt verhoogd (aantal + = 1) en de conditie wordt opnieuw gecontroleerd.
Aan het einde van de eerste iteratie hebben we 0,1,1 waar:
- n1 = 1 (de eerste 1)
- n2 = 1 (de tweede 1)
Deze bewerking wordt herhaald totdat de conditie telt Het leuke van Python-lussen is dat ze kunnen worden genest, d.w.z. we kunnen een of meer lussen in een andere lus gebruiken. Dit stelt ons in staat om nog complexere problemen op te lossen. for-lussen kunnen in zichzelf worden genest. De onderstaande syntaxis toont een geneste lus op 1 niveau. Voorbeeld 1:Gebruik geneste voor-lus om getallen in patronen af te drukken Laten we de geneste for-lus gebruiken om het volgende patroon af te drukken: Elk nummer wordt een aantal keren afgedrukt overeenkomstig het nummer zelf. Dit is hoe het stroomdiagram eruit zal zien: Uitvoer Ons programma werkt als volgt: Voorbeeld 2:Manipuleer items van een geneste lijst met behulp van een geneste for-lus Een situatie die we waarschijnlijk in Python zullen tegenkomen, is toegang tot de items van een geneste lijst. Neem bijvoorbeeld de geneste lijst hieronder. Voor dit voorbeeld laten we een programma schrijven dat het aantal gehele getallen en drijvers in deze geneste lijst zal tellen. Uitvoer Ons programma werkt als volgt: Terwijl lussen in zichzelf kunnen worden genest. De onderstaande syntaxis toont een geneste while-lus van 1 niveau. Voorbeeld 3:Gebruik geneste while-lus om sterren (*) in patronen af te drukken Laten we de geneste while-lus gebruiken om het volgende patroon te construeren: Uitvoer Ons programma werkt als volgt: Het bovenstaande proces gaat door totdat de toestand van de buitenste lus ONWAAR wordt. Om af te ronden met een geneste lus zullen we een spannend spel bouwen om te helpen bij het evalueren van het vermogen van het kind om getallen te herkennen en te spellen. Het programma toont willekeurige getallen op het scherm en vraagt om de spelling van dat getal. Het controleert of de invoer correct is en geeft vervolgens een ander nummer weer. Als de invoer niet klopt, zal het een foutmelding sturen en om een ander antwoord vragen. Uitvoer De belangrijkste functionaliteiten van onze for-loop en while-loop zijn: We hebben twee nieuwe concepten gezien terwijl-anders breken (hierover later meer). De herhalingslus en for loop oorspronkelijk een else verklaring die slechts één keer wordt uitgevoerd als de voorwaarde FALSE is. Als we niet voorzichtig zijn met hoe we onze loops implementeren, kan dit leiden tot een oneindige lus d.w.z. het programma zal een codeblok voor altijd uitvoeren totdat onze computer geen bronnen meer heeft, zoals CPU-geheugen. Voorbeeld 1:Oneindige while-lus Uitvoer Notitie : Gebruik Ctrl + z of Ctrl + om te voorkomen dat dit programma wordt uitgevoerd c op de terminal waarmee je de code hebt uitgevoerd. Onze code hierboven implementeert een oneindige while-lus Dit is echter per ongeluk omdat onze herhalingslus controleert de toestand numb<5, but there is nowhere in the code that actually increments the numb’s value. Hence the value of numb is always zero and the condition keeps returning TRUE. Dus de manier om dit op te lossen, is door een middel te bieden om de waarde van numb te verhogen. Uitvoer Een vraag kan zich voordoen oneindige lussen echt nodig? Spoiler alert: Ja, dat zijn ze. Een server kan worden geprogrammeerd om continu te draaien en tegelijkertijd aan de behoeften van klanten te voldoen. Bij gamen kan een gebeurtenis worden uitgevoerd totdat de gebruiker een actie selecteert om de lus te stoppen of te doorbreken. Geloof het of niet, we gebruikten eigenlijk een oneindige lus in het laatste praktische voorbeeld hierboven. Dus, hoe gaan we ermee om oneindige lussen Zoals we hierboven hebben uitgelegd, zijn er gevallen waarin we opzettelijk moeten schrijven oneindige lussen In deze gevallen zullen we zien dat de breken en doorgaan met trefwoorden vormen de ruggengraat van oneindige lussen De breken en doorgaan met trefwoorden worden vaak gebruikt binnen een Python als verklaring waar de if-instructie een voorwaarde controleert en als deze WAAR is, doorbreken we de lus waarin onze if-instructie werd aangeroepen of gaan we verder door alle code eronder over te slaan en terug te keren naar het begin van de lus. Laten we eens kijken naar een programma dat getallen uit een willekeurig gegenereerde bron haalt en de getallen optellen totdat een drempel is bereikt. De reden waarom dit voorbeeld een oneindige lus vereist, is dat we niet precies weten hoeveel iteraties ons programma moet uitvoeren om de verzamelde getallen de drempel te bereiken. Onze enige redder is de Python als verklaring samen met de break-verklaring Onze if-instructie controleert of de drempel is bereikt en breekt uit de lus als deze WAAR is. Ons programma vereist ook dat sommige beperkte nummers niet worden opgeteld. Dus als ons programma deze nummers tegenkomt, moet het alle codes overslaan en terugkeren naar het begin van de lus. Dit is mogelijk met de vervolg verklaring Uitvoer V # 1) Hoe bestuur je een lus in Python? Antwoord: In Python kun je een lus besturen met de volgende besturingsinstructies: Deze zoekwoorden worden meestal gebruikt in een als verklaring die eerst controleert of een voorwaarde WAAR of ONWAAR is. Q # 2) Wat is het verschil tussen for-lus en while-lus? Antwoord: NAAR for loop is een iterator gebaseerde lus , die door de items van itereerbare objecten loopt, zoals lijsten tupels , etc. Terwijl een herhalingslus is een conditie-gebaseerde lus , dat een blok met instructies herhaaldelijk uitvoert, zolang de voorwaarde TRUE is. V # 3) Ondersteunt Python tot lus? Antwoord: Helaas ondersteunt Python het do-while-lus Vraag 4) Wat zijn de twee soorten loops in Python? Antwoord: Python ondersteunt over het algemeen twee soorten lussen: for loop en herhalingslus Een derde lus [ geneste lus ] kan worden gegenereerd door twee of meer van deze lussen te nesten. Herhaalinstructies in python worden gebruikt om een blok met instructies of code meerdere keren herhaaldelijk uit te voeren, zoals gespecificeerd door de gebruiker. Python biedt ons 2 soorten loops, zoals hieronder vermeld: While loop in python wordt gebruikt om meerdere instructies of codes herhaaldelijk uit te voeren totdat de gegeven voorwaarde waar is. We gebruiken een while-lus als we niet weten hoe vaak we moeten herhalen. Syntaxis: In de while-lus controleren we de uitdrukking, als de uitdrukking waar wordt, wordt alleen het blok met instructies in de while-lus uitgevoerd. Voor elke iteratie zal het de voorwaarde controleren en het blok met instructies uitvoeren totdat de voorwaarde onwaar wordt. Voorbeeld: Uitgang: 10 Uitgang: For-lus in python wordt gebruikt om een blok met instructies of code meerdere keren uit te voeren totdat de gegeven voorwaarde onwaar wordt. We gebruiken de for-lus als we weten hoe vaak we moeten itereren. Syntaxis: Hier neemt var de waarde uit de reeks en voert deze uit totdat alle waarden in de reeks zijn voltooid. Voorbeeld: Uitgang: De huidige taal is: Python De huidige taal is: Java De huidige taal is: Ruby Uitgang: Voor lus met behulp van range () functie: De functie Range () wordt gebruikt om een reeks getallen te genereren. Bijvoorbeeld bereik (5) genereert getallen van 0 tot 4 (5 cijfers). Voorbeeld: Uitgang: De huidige taal is: Python De huidige taal is: Java De huidige taal is: Ruby Uitgang: In deze tutorial hebben we de definitie van loops gezien, de soorten Python-loops, het gebruik van for loop, en herhalingslus met enkele voorbeelden. We hebben ook geleerd hoe Geneste lussen worden gegenereerd en eindige lussen en we kwamen te weten hoe we de breken en doorgaan met trefwoorden. Bekijk hier ALLE Python-tutorials PREV-zelfstudie VOLGENDE zelfstudie Geneste lus
# 1) Nesten voor lussen
# 2) Nestelen terwijl lussen
Voorbeeld - Spellingsspel met nummers
Python oneindige lussen
Python Break and Continue statements
Voorbeeld - Verzamel cijfers totdat een drempel is bereikt
Veel Gestelde Vragen
Meer over Python Loops
# 1) While-lus:
# 2) Voor lus:
beste mp3-songdownloader voor Android
Gevolgtrekking
Aanbevolen literatuur