ComputersProgrammering

Programmeertaal Python: loops

De programmeertaal Python (als "Python" of "Python") Er zijn verschillende manieren om lus wat actie. De belangrijkste instrumenten voor de uitvoering van elke iteratie in Python - while loops en voor. De while loop is universeler dan voor, dus het is trager. Echter, dit wil niet zeggen dat het beter is! De lus wordt vaker gebruikt, omdat daarmee ook de moeilijkste opgaven voor het creëren van multi-level en mnogouslovnyh programma gerealiseerd.

Python: cyclus met postconditie

Cycles met postconditie - er lussen , terwijl dat de meest universele organisatiestructuren in de zijn programmeeromgeving. De while lus werkt volgens het principe van "zolang". Dit betekent dat het volgende: terwijl een bepaalde voorwaarde een werkelijke waarde zal terugkeren, zal het werken! Dit ontwerp wordt een "cyclus" omdat het functioneel beheer cyclisch herhaald uitgaande van de beginwaarde. Out in de cyclus terwijl Python worden uitgevoerd op het moment dat de waarde onwaar. Op dit moment, de interpreter verzendt het programma de volgende functionele semantiek segment, dat wil zeggen een nieuwe regel, die zich na het blok met de postconditie tijd.

In programmeertalen, Python cycli terwijl postconditie hebben de volgende syntaxis:

1. Terwijl (conditie):

2. expressie

Expression kan een enkele bewering of meerdere zijn. De voorwaarde is altijd een ware betekenis van een niet-nul. Dit ontwerp werkt zolang de gespecificeerde voorwaarde waar is.

Met cyclustijden, terwijl in de "Python" bijvoorbeeld

Rassmotirim whileloop. Python is heel interessant structuren zijn iteraties:

a = 0
terwijl een <7:
afdrukken ( "A")
a = a + 1

We hebben verklaard de variabele "a" en vroeg haar naar nul. Vervolgens stellen de voorwaarden "terwijl een <7", dat wil zeggen, terwijl de variabele "a" kleiner dan het nummer "7", dan is onze lus worden zolang er vals uitgevoerd.

Een valse (dat wil zeggen, verlaat dan de cyclus) zal zijn als de variabele groter is dan het nummer "7" is. Om dit te laten gebeuren, het is telkens met 1 verhoogd, dat we aangeven in de "a = a + 1".

Als u deze constructie, de letter run "A" zal 7 keer te zien in een kolom!

Een
Een
Een
Een
Een
Een
Een

Eindeloze lus terwijl in Python

Hoe maak je een eindeloze lus te maken in Python, terwijl? Denk het niet moeilijk, want de cyclus loopt tot totdat hij een valse waarde krijgt, en als deze waarde is gewoon niet daar? Het antwoord op de vraag is waarschijnlijk al dus alles is duidelijk. In sommige gevallen wordt een oneindige lus nodig is om een probleem op te lossen? Dit voorbeeld zal dienen als een realisatie van een dergelijk programma als een "klok". Hier, natuurlijk, moet je een oneindige lus, die permanent zal worden bijgewerkt gebruiken en geven de tijd aan.

Oneindige lus is vaak een vergissing beginnende programmeurs die vergeten om een verandering cyclus voorwaarden toe te voegen.

Laten we eens een kijkje nemen op het volgende stukje van Python-code. De cycli in dit geval voor onbepaalde tijd herhaald (na het karakter "#" is commentaar):

nummer = 1 # verklaren een variabel aantal en hieraan een waarde van 1

terwijl het aantal <10: # maak de postconditie, die minder dan 10 tellen

print 'Hallo' # voorwaarde (druk «Hallo» bericht)

Een dergelijk programma moet niet te snel te compileren, omdat het voor onbepaalde tijd zal lopen. We vroegen zodanige omstandigheden dat nooit valse waarden voorwaarde «nummer <10" zal zijn in deze zaak en altijd het geval, zodat de iteratie zal voortdurend brengen N-ste aantal 'Hello' berichten. Met het oog op het proces van het samenstellen van het eeuwige te stoppen, moet u de toetscombinatie Ctrl + C in de shell.

Python: syntax. Terwijl en voor loops

Zoals hierboven vermeld, in de taal van de "Python" programmering, zijn er verschillende manieren om een herhaling groep uitdrukkingen te organiseren. Het komt tot de redding lus voor, dat is een beetje anders dan zijn tegenhanger, terwijl, omdat het ontwerp is een beetje ingewikkelder dan alleen postconditie. laten we niet praten over de universaliteit van de cyclus, omdat het gewoon niet, echter worden opgemerkt dat de lus is veel sneller dan een tijdje. Een verscheidenheid aan manieren om het ontwerp en de prestaties van deze kleine beter presteren dan cyclus met postconditie op te lossen, dus het is veel meer kans om te gebruiken om een groot aantal triviale taken uit te voeren.

Wat zijn de uitdagingen voor de cyclus voor? Ongetwijfeld is de zelfde als die van de while - itereren alle processen. Het programma aantekeningen op de "python", wordt veel gebruikt lus voor, die in staat uitvoering traversal vooraf vastgestelde aantal elementen en uit te voeren in de verschillende lichaamsdelen itereren over hen. Kenmerken van dit ontwerp kan worden gebruikt verwerkingslijnen of lijsten zoals elk ander object herhaald.

Toepassingsmogelijkheden voor de cyclus Python

Laten we zeggen dat we hebben enkele lijst van nummers, en we moeten elk element (bijv. E. Number) verhoogd met drie eenheden. Om een dergelijke taak die we kunnen implementeren door de lus, lus methoden.

Laten we eens kijken naar een snel voorbeeld, waar we de juiste actie voor deze zal uitvoeren (na het karakter "#" is commentaar):

spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # verklaard array met 10 cijfers

count = 0 # gemaakt teller met nul

voor de elementen in spisok_chisel: # itereren over de array en schrijf het in de elementen

spisok_chisel [tel] + = elementen nr.3 aantal toenemende reeks van drie

count = tellen + 1 # naar het volgende nummer op de index

Het resultaat van de bovenstaande constructie wordt:

spisok_chisel = [8, 18, 28, 38, 48, 58, 68, 78, 88, 98]

In ons voorbeeld, er is een variabele telling, die we nodig hebben om aan de veranderende waarden in de array «spisok_chisel» vieren. De variabele telling wordt geregistreerd een indexwaarde van elk element in de array (elk nummer in de lijst). Variabele «elementen» verbindt de resulterende waarde in de lijst. In de lus zien we hoe de verwerking van elk object uitvoeren in numerieke lijst. In de lus, elk numeriek object met index «tel» toegevoegde hoeveelheid van de huidige herhaalde element en drie. Dan zijn onze index «tel» verhoogd met één, en de stroom van de uitvoering van het programma terug naar het begin van de bouw advertenties. Dus zal de lus uitgevoerd totdat totdat elk element in de matrix, die door de aandoening is verwerkt. Als een element ontbreekt, maar wordt door de staat van onderhoud, de cyclus is voltooid. We vestigen de aandacht op één ding: als je niet beschikt over een lijn van de «count schrijven = tellen + 1" , ondanks het feit dat een array van objecten met succes verwerkt, het resultaat zal altijd worden toegevoegd aan de eerste numerieke index object nul c.

Nu kunnen we nadenken over while lus werkingsprincipes en identificeren van het verschil (herinneren dat in Python uit van de cyclus met postconditie wordt uitgevoerd aan de hand van logische criteria uitgevoerd - waar is (de cyclus gaat) of onwaar (de cyclus stopt)).

Hoe kan ik een string in Python met behulp van het ontwerp voor de behandeling?

In elke programmeertaal zijn er cycli, en ze werken, meestal op hetzelfde principe, de verschillen alleen zichtbaar in de syntax. De lus in de taal "python" geen gewone en triviaal omdat het principe van de werking ervan niet beperkt is tot de teller. Dit ontwerp geeft een opsomming van elk onderdeel afzonderlijk. Dit alles kan eenvoudig worden verklaard door het voorbeeld van het werken met strijkers, maar laten we eerst gaan met de samenstelling van de cyclus voor:

variabele

Het wordt opgeslagen in een variabele cyclus bewerkingsresultaat

in peremennaya_2

sleutelwoord «in» - het is een eerste vereiste bij het werken met «for» cyclus. Vanaf peremennoy_2 trekken we de waarde die zal worden herhaald. Voor de duidelijkheid en helderheid, laten we eens kijken naar een klein voorbeeld van hoe om te werken en om strings in Python te sorteren:

char = 'programmeren' # verklaren een variabele en wijs een string waarde

voor Slovo in char: # Maak een variabele slovo, die busting codes van variabele char zal blijven

druk (Slovo end = '^') # Output de Slovo en na elke letter, een symbool plaatst - een vogel.

Het resultaat van het script:

P ^ p ^ o ^ r ^ r ^ a ^ m ^ m ^ ^ p ^ o ^ a ^ a ^ n ^ en ^ e

continue-statement

operator verder de uitvoering van de overgang naar de uitvoering van de volgende cyclus, die door de staat, ongeacht het saldo van de lus. Gebruik de instructie continue kan worden in twee cycli - voor en tijdens het.

Beschouw dit voorbeeld:

voor de telling in 'herhalen elke letter, met uitzondering van de'

als count == 'o':

voortzetten

druk (count * 2, end = '')

Het resultaat zal zijn de volgende:

Ppvvttrriimm kkaazhzhdduuyuyu bbuukkvvuu ,, kkrrmmee

Wanneer de handler vond een letter "o" in de string 'herhalen elke letter, behalve voor' de uitvoering van het programma werd onmiddellijk doorgestuurd naar de regel na het woord 'verder '', wanneer de toestand was ingesteld op elke letter dupliceren.

break statement

Trefwoord «break» ingevoegd op de plaats waar de cyclus moet worden onderbroken zonder te wachten op de voltooiing ervan, die werd gegeven door de aandoening. Dit ontwerp wordt vaak gebruikt bij het schrijven van programma's met veel van de logica en de voorwaarden.

Beschouw een klein voorbeeld van het werk break-statement:

voor de telling in 'herhalen elke letter, met uitzondering van de'

als count == 'o':

breuk

druk (count * 2, end = '')

Het resultaat zal zijn de volgende:

nn

Wanneer de handler vond een letter "o" in de string 'herhalen elke letter, behalve voor' de uitvoering van het programma werd onmiddellijk stopgezet, ondanks het feit dat de volgende regel bevat enkele van de voorwaarden voor de cyclus.

Het toverwoord anders

In een reeks van welke aard dan kan de operator anders toe te passen. Wat is het voor? Hij heeft ook controles die uit de lus waren begaan betekent een onderbreking of de gebruikelijke manier. Blok met vooraf bepaalde regels in de uitvoering anders pas beginnen wanneer de voorwaarde dat de output van de cyclus werd uitgevoerd zonder het gebruik van break structuur.

Overweeg een klein voorbeeld:

voor de telling in 'hello world':

als count == 'I':

breuk

anders:

afdrukken ( 'Uw zin heeft geen letter' I '')

De output van het script:

Uw straf is niet de letter "I"

Voorbeelden van cycli in de omgekeerde volgorde van de Python programmeertaal

Zoals geïmplementeerd in Python omgekeerde cyclus? Laten we ons voorstellen dat het schrijven van een programma dat moet het karakter lijn te herkennen en af te drukken in omgekeerde volgorde. Hoe om dit te implementeren?

Beschouw het voorbeeld hieronder:

Slovo = 'programmering'

new_slovo = []

voor telling in range (len (s), 0, -1):

new_slovo.append (s [i-1])

new_slovlo

[ 'P', 'p', 'o', 'g', 'p', 'a', 'm', 'm', 'u', 'p', 'o', 'a', " a '' n '' u '' e ']

afdruk (new_slovo)

[ 'P', 'p', 'o', 'g', 'p', 'a', 'm', 'm', 'u', 'p', 'o', 'a', " a '' n '' u '' e ']

afdruk ( ''. join (new_slovo))

Het resultaat van het script:

einavorimmargorp

geneste lussen

In Python zijn er ook cycli van programmeren en investeringen, die wordt geplaatst in het lichaam van een ander. In elke cyclus kan een geneste lus, en dus is het mogelijk om een ladder te bouwen tot oneindig. In de eerste iteratie van de buitenste lus wordt getrokken met een aanroep van de binnenste lus, die uitgevoerd wordt vóór de voltooiing van zijn, gaat de besturing alle omgeleid in het lichaam van de buitenste lus. Elke taal heeft zijn eigen kenmerken van geneste lussen, laten we eens kijken hoe ze werken in de "Python" programmeertaal.

Als u gebruik maakt van geneste lussen, Python biedt de volgende syntax:

variabele achtereenvolgens variabelen:

variabele achtereenvolgens variabelen

actie (s)

actie (s)

De speciale kenmerken van geneste lussen is het feit dat in de cyclus van elk type kan worden gebruikt als het even welk type van de cyclus! Dit betekent dat in een cyclus tijd (of) kan worden ingesloten voor een cyclus of ook tijdens en vice versa.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 nl.delachieve.com. Theme powered by WordPress.