Naujas programuotojo koncepcijos mokymasis gali pakelti tavo įgūdžius į naują lygį. Jei jau esi susipažinęs su for ciklais, atėjo laikas susipažinti su dar vienu svarbiu programavimo elementu: while ciklais. Šiame vadove sužinosi, kas yra while ciklai, kaip jie veikia ir kaip juos efektyviai naudoleti savo Python kode.
Pagrindinės įžvalgos
- While ciklai pakartoja kodo vykdymą, kol yra tenkinama tam tikra sąlyga.
- Svarbu, kad ciklas kažkada sustotų, kad išvengtumėte begalinių ciklų.
- Naudodamasis break, continue ir pass, gali valdyti while ciklų elgseną.
While ciklo pagrindai
While ciklas yra vienas iš pagrindinių ciklo tipų Python, leidžiantis pakartotinai vykdyti kodo bloką, kol toliau galioja sąlyga. Priešingai nei for ciklas, while ciklas nevykdo kodo nustatytą kartų skaičių, o tiek, kiek to reikalauja jūsų programos logika.
While ciklo sintaksė
Šiuo atveju aš paaiškinsiu while ciklo struktūrą išsamiau.

Pirmiausia apibrėžti sąlygą, kuri bus tikrinama. Jei sąlyga yra True (teisinga), ciklo viduje esantis kodo blokas bus vykdomas. Po kiekvieno pasikartojimo sąlyga bus vėl patikrinta.
Paprastas pavyzdys
Tarkime, nori padidinti kintamojo x vertę, kol ji bus mažesnė už 4.

Per kiekvieną iteraciją x padidinama, o dabartinė x vertė pateikiama. Tai tęsiasi tol, kol sąlyga nebebus teisinga.
Ciklo pabaiga
Svarbu, kad ciklas kažkada sustotų ir sąlyga taptų False. Priešingu atveju, sukursite begalinį ciklą, kuris gali sugadinti jūsų programą. Kad to išvengtumėte, įsitikinkite, kad tikrinamas kintamasis iš tiesų yra keičiamas, kad sąlyga nebūtų visada tiesa.

Else blokas while cikluose
Dar vienas naudingas aspektas while ciklų yra else bloko naudojimas. Šis blokas yra vykdomas, kai ciklas baigiasi ir sąlyga nebeįvykdoma.

Jei vykdysite aukščiau pateiktą kodą, ciklo pabaigoje bus išvestas pranešimas „Vykdymas baigtas.“.
Ciklų valdymas su break ir continue
Sudėtingesnėse programose gali prireikti toliau valdyti while ciklų elgseną. Čia įsijungia break, continue ir pass komandos.
Break
Naudodamas break komandą, gali rankiniu būdu nutraukti ciklą. Jei įvykdai tam tikrą sąlygą, gali prieš terminą palikti ciklą.

Šiame pavyzdyje ciklas nutraukiamas, kai x pasiekia vertę 2, tad bus išvesti tik x = 0 ir x = 1.
Continue
Continue komanda, priešingai, praleidžia dabartinę iteraciją ir tiesiogiai pereina prie kitos.

Šiuo atveju x = 2 nebus išvestas, nes vykdymas pereina prie kitos iteracijos, kai x vertė pasiekia 2.
Pass
Pass komanda naudojama, kad blokas būtų tuščias, nieko nevykdant. Ji naudinga, kai reikia vietos rezervacijos ir nesate tikri, ką ten reikia įvykdyti.

Šiame pavyzdyje while ciklas turi sąlygą, kuri nieko neveikia, kai x = 2, tačiau kodas lieka be komplikacijų.
Suma – While ciklai Python: pradedančiųjų vadovas
Šiame vadove sužinojote apie while ciklų pagrindus Python. Dabar žinote, kaip apibrėžti while ciklą, kokia jo sintaksė ir kokios funkcijos, tokios kaip break, continue ir pass, yra efektyviam ciklų valdymui. Atminkite, kad visada turėtumėte užtikrinti, kad jūsų ciklas kažkada sustotų, kad išvengtumėte begalinių ciklų.
Dažnai užduodami klausimai
Kaip veikia while ciklas?While ciklas pakartoja kodo bloką, kol tam tikra sąlyga yra tenkinama.
Koks skirtumas tarp break ir continue?Break visiškai nutraukia ciklą, o continue praleidžia dabartinę iteraciją ir pereina prie kitos.
Kaip išvengti begalinių ciklų savo kode?Įsitikinkite, kad while ciklo sąlyga kažkada taps neteisinga, keisdami tikrinamą kintamąjį atitinkamai.
Ar pass naudojimas kenkia mano ciklui?Ne, pass yra rezervuotoji vieta ir neturi jokios įtakos jūsų ciklo elgsenai. Tai tiesiog padeda išvengti sintaksės klaidų.
Kas atsitiks, jei while ciklo sąlyga iš pradžių nebus tenkinama?Jei sąlyga pirmajame vykdyme nebus tenkinama, ciklo kodo blokas niekada nebus vykdomas, tačiau else blokas gali būti vykdomas, jei jis buvo apibrėžtas.