V programovacom jazyku Python (tiež „Python“alebo „Python“) existuje niekoľko spôsobov, ako vytvoriť slučku. Hlavné nástroje na implementáciu akýchkoľvek druhov iterácií v Pythone sú while a for loop. Slučka while je univerzálnejšia ako slučka for, takže je pomalšia. To však neznamená, že je lepší! Smyčka for sa používa oveľa častejšie, pretože sa používa na implementáciu najkomplexnejších úloh na vytváranie viacúrovňových a viacúrovňových programov.
Python: slučka s postcondition
Pozastavené slučky sú zatiaľ slučky, ktorésú najuniverzálnejšie organizačné konštrukcie v tomto programovacom prostredí. Smyčka while funguje na princípe „tak dlho ako“. To znamená nasledovné: pokiaľ sa niektorá podmienka vráti ako pravdivá, bude to fungovať! Táto konštrukcia sa nazýva „slučka“, pretože funkčné riadenie sa cyklicky opakuje, počnúc počiatočnou hodnotou. Cyklus while v Pythone vystúpi v okamihu, keď bude hodnota nepravdivá. V tomto okamihu tlmočník prenesie vykonávanie programu do ďalšieho funkčno-sémantického segmentu, to znamená do nového riadku, ktorý sa nachádza za blokom s podmienkou while.
V programovacom jazyku Python majú slučky s podmienkou while nasledujúcu syntax:
1. Zatiaľ čo (podmienka): 2. výraz |
Výraz môže byť buď jedna inštrukcia, aleboniektoré. Podmienkou je vždy nejaká skutočná hodnota alebo nenulová. Táto stavba funguje, pokiaľ je splnená uvedená podmienka.
Napríklad použitie cyklu while v Pythone
Zvážte while. Python štruktúruje svoje iterácie celkom zaujímavo:
a = 0 |
Premennú sme deklarovali „a“ a nastavili sme ju na nuluhodnotu. Potom nastavíme podmienku „while a <7“, to znamená, pokiaľ je premenná „a“ menšia ako číslo „7“, potom sa naša slučka bude vykonávať, až kým sa nestane nepravdivou.
A stane sa nepravdivou (to znamená, že opustí slučku), keď sa premenná stane väčšou ako číslo „7“. Aby sa tak stalo, zvyšuje sa zakaždým o 1, čo označujeme v riadku „a = a + 1“.
Ak použijete tento dizajn, písmeno „A“ sa zobrazí sedemkrát v stĺpci!
Na |
Nekonečná slučka while v Pythone
Ako vytvorím nekonečnú smyčku while v Pythone?Nie je vôbec ťažké to uhádnuť, pretože slučka beží, až kým nedostane nesprávnu hodnotu, ale čo keď táto hodnota jednoducho neexistuje? Odpoveď na otázku je už asi každému jasná. V ktorých prípadoch je na vyriešenie problému nevyhnutná nekonečná slučka? Týmto príkladom je implementácia takého programu ako „hodiny“. Tu nepochybne budete musieť použiť nekonečný cyklus, ktorý sa bude neustále aktualizovať a ukáže čas.
Nekonečná slučka je často chybou začínajúcich programátorov, ktorí zabudnú pridať zmeny do podmienok slučky.
Pozrime sa na nasledujúcu časť kódu Pythonu. V takom prípade sú slučky opakovane iterované (za symbolom „#“ je komentár):
number = 1 # deklarujte premenné číslo a priraďte mu hodnotu 1 while number <10: # create a postcondition where number is less than 10 vytlačiť "Ahoj" # splniť podmienku (vytlačiť správu "Ahoj") |
S zostavením takéhoto programu by ste sa nemali ponáhľať,pretože to bude trvať donekonečna. Nastavili sme také podmienky, za ktorých nikdy nebude falošná hodnota: podmienka „číslo <10“ je v tomto prípade nemenná a pravdivá, takže iterácia bude prebiehať neustále a bude zobrazovať N-tý počet správ „Hello“ . Aby ste zastavili večný proces kompilácie, budete musieť stlačiť kombináciu klávesov Ctrl + C v shelli.
Python: syntax. Zatiaľ a pre slučky
Ako už bolo spomenuté vyššie, v jazykuProgramovanie v jazyku Python Existuje niekoľko spôsobov, ako organizovať opakovanie skupiny výrazov. Na pomoc prichádza slučka for, ktorá sa mierne líši od jej náprotivku while, pretože jej konštrukcia je o niečo zložitejšia ako iba dodatočná podmienka. Nebudeme hovoriť o univerzálnosti tejto slučky, pretože jednoducho neexistuje, ale je možné poznamenať, že slučka for funguje oveľa rýchlejšie ako while. Mnoho spôsobov riešenia a výkon tejto konštrukcie trochu prekonajú slučku s postkondíciou, takže sa oveľa častejšie používa na vykonávanie mnohých triviálnych úloh.
Aké sú výzvy cyklu for?Nepochybne to isté ako zatiaľ - opakujte niektoré procesy. V programoch vykonávaných na „Pythone“ je široko používaná slučka for, ktorá je schopná implementovať prechod danej množiny prvkov a vykonávať cez ne rôzne iterácie vo svojom tele. Schopnosti tohto konštruktu možno použiť na reťazce alebo zoznamy rovnakým spôsobom ako ktorýkoľvek iný iterovateľný.
Príklad použitia cyklu for v Pythone
Povedzme, že máme nejaký zoznam čísel a musíme každý prvok (t. J. Číslo) zvýšiť o tri jednotky. Takúto úlohu môžeme realizovať cyklickým cyklovaním pomocou metód for loop.
Pozrime sa na malý príklad, kde vykonáme príslušné akcie (za symbolom „#“ je komentár):
spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # deklaroval pole obsahujúce 10 číslic count = 0 # vytvoril počítadlo s nulovou hodnotou pre prvky v spisok_chisel: # iterácia cez pole a zápis do prvkov spisok_chisel [count] = prvky + 3 # zvýši počet z poľa o tri count = count + 1 # prejsť na ďalšie číslo podľa indexu |
Výsledok vykonania vyššie uvedenej stavby bude takýto:
spisok_chisel = [8, 18, 28, 38, 48, 58, 68, 78, 88, 98] |
Náš príklad má premennú count, ktorámusíme označiť meniace sa hodnoty v poli „spisok_chisel“. Počet premenných ukladá hodnoty indexu každého prvku v poli (každé číslo v zozname). Premenná "elements" viaže výsledné hodnoty v zozname. V cykle for sledujeme, ako sa zaobchádza s každým číselným objektom v zozname. Vo vnútri slučky je každý číselný objekt s indexom „count“ pridaný so súčtom aktuálneho iterovaného prvku a tripletu. Potom sa náš index "count" zvýši o jednu a tok programu sa vráti na začiatok deklarácie štruktúry for. Smyčka teda bude prebiehať, kým nespracuje každý prvok v poli špecifikovaný podmienkou. Ak niektorý prvok chýba, ale je špecifikovaný podmienkou, proces slučky sa ukončí. Venujme pozornosť ešte jednej nuancii: ak nenapíšete riadok „count = count + 1“, tak napriek tomu, že objekty poľa budú úspešne spracované, bude výsledok neustále pridávaný k prvému číselnému objektu pomocou a nulový index.
Teraz si môžeme spomenúť na princípy prácewhile loop a odhaliť rozdiel (pripomeňme, že v Pythone je ukončenie cyklu s postconditionom založené na logických kritériách - true (slučka beží ďalej) alebo false (slučka sa zastaví)).
Ako zvládnem hodnotu reťazca v Pythone pomocou konštrukcie for?
V každom programovacom jazyku sú slučky,a zvyčajne fungujú na rovnakom princípe, rozdiely sú viditeľné iba v syntaxi. Avšak Python for loop nie je obyčajný a triviálny, pretože jeho princíp činnosti nie je obmedzený na počítadlo. Táto konštrukcia iteruje nad každým prvkom zvlášť. To všetko sa dá ľahko vysvetliť na príklade práce s reťazcami, ale najskôr pochopíme zloženie cyklu for:
pre premennú
premenná ukladá výsledok cyklu
v premennej_2
kľúčové slovo „in“ je nevyhnutnou podmienkoupri práci so slučkou „pre“. Z premennej_2 extrahujeme hodnotu, ktorú budeme iterovať. Pre jasnosť a zrozumiteľnosť sa pozrime na malý príklad toho, ako pracovať a iterovať cez reťazce v Pythone:
char = ‘programovanie’ # Deklarujte premennú a priraďte jej hodnotu reťazca pre slovo v char: # Vytvorte premennú slovo, ktorá uloží indexy iterácie z premennej char print (slovo, end = ‘^‘) # Vytlačiť slovo a za každé písmeno vložiť symbol vtáka. |
Výsledok scenára:
N ^ p ^ o ^ r ^ p ^ a ^ m ^ m ^ u ^ p ^ o ^ b ^ a ^ n ^ u ^ e |
Vyhlásenie pokračovať
Operátor continue implementuje prechod na vykonanie nasledujúcej slučky špecifikovanej podmienkou bez ohľadu na zvyšok v tele slučky. Príkaz continue môžete použiť v dvoch slučkách - pre a zatiaľ.
Uvažujme príklad:
pre počítanie v „opakovať každé písmeno okrem o“ ak count == ‘o’: ďalej print (count * 2, end = '') |
Výsledok bude nasledovný:
Ppvvttrriimm kkazhzhduyuyu bbuukkvuu ,, kkrrmmee |
Keď psovod našiel v riadku písmeno „o“„Zopakujme si každé písmeno okrem“, spustenie programu bolo okamžite presmerované na riadok za slovom „pokračovať“, kde bolo podľa podmienky nastavené duplikovanie každého písmena.
Vyhlásenie o zlomení
Kľúčové slovo „zlomiť“ sa vkladá kdekoľvekkde by sa slučka mala prerušiť bez čakania na jej dokončenie, ktoré bolo určené podmienkou. Táto konštrukcia sa veľmi často používa pri písaní programov s množstvom logiky a podmienok.
Uvažujme o malom príklade fungovania príkazu break:
pre počítanie v „opakovať každé písmeno okrem o“ ak count == ‘o’: prestávka print (count * 2, end = '') |
Výsledok bude nasledovný:
nn |
Keď obslužný program našiel písmeno „o“ v riadku „opakujte každé písmeno okrem„, “, vykonanie programu bolo okamžite zastavené, a to aj napriek tomu, že nasledujúci riadok obsahuje určité podmienky pre slučku.
Čarovné slovo iné
Môžete použiť operátor else v slučke ľubovoľného druhu.Načo to je? Kontroluje, či bola slučka opustená pomocou metód prerušenia alebo obvyklým spôsobom. Blok so zadanými pravidlami vo vnútri else sa začne implementovať, iba ak bola slučka opustená bez použitia konštrukcie prerušenia.
Pozrime sa na malý príklad:
pre počet v „ahoj svete“: ak count == ‘i’: prestávka inak: tlač („Vo svojej frázii nemáš písmeno„ I “) |
Výsledok vykonania skriptu:
Vo vašej fráze nie je písmeno „I“ |
Príklady reverznej slučky v programovacom jazyku Python
Ako sa v Pythone implementuje reverzná slučka? Poďme si predstaviť, že píšeme program, ktorý rozpoznáva reťazec znakov a tlačí ho v opačnom poradí. Ako to implementovať?
Zvážte príklad uvedený nižšie:
slovo = 'programovanie' new_slovo = [] pre počet v rozsahu (len, 0, -1): new_slovo.append (s [i-1]) new_slovlo [„p“, „p“, „o“, „g“, „p“, „a“, „m“, „m“, „a“, „p“, „o“, „v“, „ a ',' n ',' a ',' e '] tlač (nové_slovo) [„p“, „p“, „o“, „g“, „p“, „a“, „m“, „m“, „a“, „p“, „o“, „v“, „ a ',' n ',' a ',' e '] print („“. join (new_slovo)) |
Výsledok scenára:
einavorimmargorp |
Vnorené slučky
V programovacom jazyku Python existujú slučkytiež vnorené, teda umiestnené v tele iného. Každý cyklus môže mať svoj vlastný vnorený cyklus, a tak môžete zostaviť rebrík do nekonečna. Pri prvej iterácii vonkajšia slučka volá vnútornú slučku, ktorá sa vykonáva až do vlastného dokončenia, potom sa všetka kontrola presmeruje na telo vonkajšej slučky. Každý jazyk má svoje vlastné zvláštnosti vnorených slučiek, pozrime sa, ako sú usporiadané v programovacom jazyku Python.
Ak sa používajú vnorené slučky, Python ponúka nasledujúcu syntax:
pre premennú v postupnej premennej: pre premennú v postupnej premennej akcia (akcie) akcia (akcie) |
Medzi zvláštnosti vnorených slučiek patrí skutočnosť, žeže vo vnútri slučky ľubovoľného typu je možné použiť aj akýkoľvek typ slučky! To znamená, že cyklus for alebo, opäť while, a naopak, je možné vnoriť do while (alebo for) cyklu.