/ / Pythons programmeringsspråk: loopar

Pythons programmeringsspråk: loopar

I programmeringsspråket Python (även "Python"eller "Python") det finns flera sätt att loopa en åtgärd. De viktigaste verktygen för att implementera någon form av iteration i Python är medan och för loopar. While-slingan är mer mångsidig än for-slingan, så den är långsammare. Detta betyder dock inte att han är bättre! For-loop används mycket oftare eftersom den används för att implementera de mest komplexa uppgifterna för att skapa program på flera nivåer och flera villkor.

pytnonslingor

Python: loop med postcondition

Efterkonditionerade öglor är medan öglor detär de mest mångsidiga organisationskonstruktionerna i denna programmeringsmiljö. While-slingan fungerar på "så länge" -principen. Detta betyder följande: så länge som vissa villkor återkommer sant, kommer det att fungera! Denna konstruktion kallas en "loop" eftersom den funktionella kontrollen upprepas cykliskt, från det initiala värdet. While-slingan i Python avslutas när värdet blir falskt. För närvarande överför tolkaren programkörningen till nästa funktionella-semantiska segment, det vill säga en ny linje som är belägen efter blocket med samtidigt efterläget.

medan loop python

I Python-programmeringsspråket har slingor med en stund efterkondition följande syntax:

1. Medan (villkor):

2. uttryck

Ett uttryck kan vara antingen en instruktion ellervissa. Villkoret är alltid något sant värde eller icke-noll. Denna konstruktion fungerar så länge det angivna villkoret är sant.

Använda while-slingan i Python som exempel

pythonslinga med efterläge

Tänk på loop medan. Python strukturerar sina iterationer ganska intressant:

a = 0
medan en <7:
tryck ("A")
a = a + 1

Vi förklarade variabeln "a" och satte den till nollvärde. Sedan ställer vi in ​​villkoret "medan a <7", det vill säga så länge variabeln "a" är mindre än siffran "7", kommer vår slinga att köras tills den blir falsk.

Och det blir falskt (det vill säga det kommer att gå ut ur slingan) när variabeln blir större än antalet "7". För att detta ska ske, ökar det med 1 varje gång, vilket vi anger i raden "a = a + 1".

Om du kör denna design kommer bokstaven "A" att visas 7 gånger i en kolumn!

EN
EN
EN
EN
EN
EN
EN

En oändlig stundslinga i Python

Hur gör jag en oändlig stundslinga i Python?Det är inte svårt att gissa alls, eftersom slingan går tills den får ett falskt värde, men tänk om detta värde helt enkelt inte finns? Svaret på frågan är förmodligen redan klart för alla. I vilka fall är en oändlig slinga nödvändig för att lösa ett problem? Detta exempel är implementeringen av ett sådant program som "klocka". Här måste du utan tvekan använda en oändlig cykel som permanent uppdaterar och visar tiden.

oändlig slinga för python

En oändlig slinga är ofta ett misstag hos nybörjare som glömmer att lägga till ändringar i slingförhållandena.

Låt oss ta en titt på följande bit Python-kod. I det här fallet upprepas slingorna oändligt (det finns en kommentar efter symbolen "#"):

nummer = 1 # deklarera ett variabelnummer och tilldela det värdet 1

medan nummer <10: # skapar en postvillkor där antalet är mindre än 10

skriv ut "Hej" # uppfylla villkoret (skriv ut meddelandet "Hej")

Du bör inte skynda dig att kompilera ett sådant program,eftersom det kommer att köras på obestämd tid. Vi har ställt in sådana förhållanden under vilka det aldrig kommer att finnas ett falskt värde: "nummer <10" villkor i detta fall är oföränderligt och sant, så iterationen kommer att utföras ständigt och visar det N: e antalet "Hej" -meddelanden . För att stoppa den eviga sammanställningsprocessen måste du trycka på Ctrl + C-tangentkombinationen i skalet.

Python: syntax. Medan och för öglor

Som nämnts ovan, på språketPython-programmering Det finns flera sätt att organisera repetitionen av en grupp uttryck. For-loop kommer till undsättning, som skiljer sig något från dess motsvarighet medan, eftersom dess konstruktion är något mer komplex än bara en postcondition. Vi kommer inte att prata om universaliteten hos den här slingan, eftersom den helt enkelt inte finns, men det kan noteras att for-slingan fungerar mycket snabbare än en stund. De många sätten att lösa och prestanda för denna konstruktion överträffar lite en slinga med en postcondition lite, så det används mycket oftare för att utföra många triviala uppgifter.

Vilka är utmaningarna för for loop?Utan tvekan samma som under - itera över vissa processer. I program som körs på "Python" används en for loop i stor utsträckning, som kan implementera genomgång av en viss uppsättning element och utföra olika iterationer över dem i sin kropp. Funktionerna i denna konstruktion kan tillämpas på strängar eller listor på samma sätt som alla andra iterabla.

Ett exempel på att använda en for-loop i Python

Låt oss säga att vi har en lista med siffror, och vi måste öka varje element (dvs. antal) med tre enheter. Vi kan genomföra en sådan uppgift genom att loopa med metoderna för loop.

Låt oss titta på ett litet exempel där vi kommer att utföra lämpliga åtgärder för detta (det finns en kommentar efter symbolen "#"):

spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # förklarade en matris som innehåller 10 siffror

count = 0 # skapade en räknare med nollvärde

för element i spisok_chisel: # iterera över matrisen och skriv den till element

spisok_chisel [count] = element + 3 # öka antalet från arrayen med tre

count = count + 1 # gå till nästa nummer efter index

Resultatet av att utföra ovanstående konstruktion blir så här:

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

Vårt exempel har en variabelräkning, vilkenvi måste markera förändrade värden i matrisen "spisok_chisel". Variabelantalet lagrar indexvärdena för varje element i matrisen (varje nummer i listan). Variabeln "element" binder de resulterande värdena i listan. I for-slingan observerar vi hur varje numeriskt objekt i listan hanteras. Inuti slingan läggs varje numeriskt objekt med index "count" till med summan av det aktuella itererade elementet och tripletten. Sedan ökas vårt index "räkna" med ett, och programflödet återgår till början av deklarationen av for-strukturen. Sålunda kommer slingan att köras tills den behandlar varje element i matrisen, specificerad av villkor. Om något element saknas men specificeras av villkor avslutas loopprocessen. Låt oss uppmärksamma ytterligare en nyans: om du inte skriver raden "count = count + 1", kommer resultatet, trots att array-objekten kommer att behandlas framgångsrikt, att läggas till hela det första numeriska objektet med en nollindex.

Nu kan vi komma ihåg arbetsprincipernamedan loop och avslöja skillnaden (kom ihåg att i Python är att avsluta en loop med en postcondition baserat på logiska kriterier - true (loop fortsätter att springa) eller false (loop slutar)).

Hur hanterar jag ett strängvärde i Python med hjälp av for construct?

Det finns slingor i varje programmeringsspråk,och de fungerar vanligtvis enligt samma princip, skillnaderna märks bara i syntaxen. Python för loop är dock inte vanligt och trivialt, eftersom dess funktionsprincip inte är begränsad till en räknare. Denna konstruktion itererar över varje element separat. Allt detta kan enkelt förklaras med hjälp av ett exempel på att arbeta med strängar, men låt oss först förstå sammansättningen av en for-loop:

för variabel

variabeln lagrar resultatet av cykeln

i variabel_2

nyckelordet "in" är en förutsättningnär du arbetar med en "for" -slinga. Från variabel_2 extraherar vi det värde som vi kommer att upprepa. För tydlighet och klarhet, låt oss titta på ett litet exempel på hur man arbetar och itererar över strängar i Python:

char = ‘programmering’ # Förklara en variabel och tilldela den ett strängvärde

för slovo in char: # Skapa en variabel slovo som lagrar iterationsindex från variabel char

skriv ut (slovo, slut = ‘^’) # Skriv ut slovo och sätt in en fågelsymbol efter varje bokstav.

Resultatet av manuset:

N ^ p ^ o ^ r ^ p ^ a ^ m ^ m ^ u ^ p ^ o ^ b ^ a ^ n ^ u ^ e

Fortsätt uttalandet

Fortsätt-operatören implementerar övergången till exekveringen av nästa slinga, specificerad av tillstånd, oavsett resten i slingans kropp. Du kan använda fortsättningsuttalandet i två slingor - en stund.

Låt oss överväga ett exempel:

för räkning i ”upprepa varje bokstav utom o”

if count == ‘o’:

Fortsätta

skriv ut (räkna * 2, slut = '')

Resultatet blir följande:

Ppvvttrriimm kkazhzhduyuyu bbuukkvuu ,, kkrrmmee

När föraren hittade bokstaven "o" i raden”Låt oss upprepa varje bokstav, med undantag för”, omdirigerades programkörningen omedelbart till raden efter ordet ”fortsätt”, där det enligt villkor var inställt på att duplicera varje bokstav.

Bryt uttalande

Nyckelordet "break" infogas var som helstdär slingan ska avbrytas utan att vänta på att den är klar, vilket specificerades av villkoret. Denna konstruktion används ofta när man skriver program med mycket logik och villkor.

Låt oss överväga ett litet exempel på hur pausförklaringen fungerar:

för räkning i ”upprepa varje bokstav utom o”

if count == ‘o’:

ha sönder

skriv ut (räkna * 2, slut = '')

Resultatet blir följande:

nn

När hanteraren hittade bokstaven "o" i raden "upprepa varje bokstav utom, o", stoppades programkörningen omedelbart, trots att nästa rad innehåller några villkor för slingan.

Det magiska ordet annat

Du kan använda den andra operatören i en slinga av något slag.Vad är det för? Den kontrollerar om slingan avslutades med brytningsmetoderna eller på vanligt sätt. Blocket med de angivna reglerna i det andra kommer att starta implementeringen endast om slingan avslutades utan att använda pauskonstruktionen.

Låt oss titta på ett litet exempel:

för räkning i 'hej världen':

if count == ‘i’:

ha sönder

annan:

skriva ut ("Du har inte bokstaven" jag "i din fras ')

Resultatet av skriptkörningen:

Det finns ingen bokstav "jag" i din fras

Reverse Loop-exempel i Python-programmeringsspråk

python omvänd slinga

Hur implementeras en omvänd slinga i Python? Låt oss föreställa oss att vi skriver ett program som känner igen en teckensträng och skriver ut den i omvänd ordning. Hur implementerar man detta?

Tänk på exemplet nedan:

slovo = 'programmering'

new_slovo = []

för räkning i intervall (len (s), 0, -1):

new_slovo.append (s [i-1])

new_slovlo

['p', 'p', 'o', 'g', 'p', 'a', 'm', 'm', 'och', 'p', 'o', 'in', ' a ',' n ',' och ',' e ']

skriva ut (new_slovo)

['p', 'p', 'o', 'g', 'p', 'a', 'm', 'm', 'och', 'p', 'o', 'in', ' a ',' n ',' och ',' e ']

skriva ut (''. gå med (new_slovo))

Resultatet av manuset:

einavorimmargorp

Kapslade öglor

I programmeringsspråket Python finns looparockså kapslad, det vill säga placerad i en annans kropp. Varje cykel kan ha sin egen kapslade cykel, och så kan du bygga en stege till oändlighet. Vid den första iterationen kallar den yttre slingan den inre slingan, som exekveras tills den är fullbordad, då styrs all kontroll till den yttre slingans kropp. Varje språk har sina egna särdrag hos kapslade loopar, låt oss se hur de är ordnade i Python-programmeringsspråket.

python kapslade öglor

Om kapslade loopar används erbjuder Python följande syntax:

för variabel i sekventiell variabel:

för variabel i sekventiell variabel

handling (åtgärder)

handling (åtgärder)

pythonsyntax för loopar

Särskilda egenskaper hos kapslade öglor inkluderar det faktum attatt inuti en slinga av vilken typ som helst kan vilken slinga som helst också användas! Det betyder att en for-loop eller, igen, while och vice versa, kan kapslas på en loop (eller for) loop.