Mes aptarėme pagrindinius duomenų tipus, pažangius duomenų tipus ir sąlyginius teiginius Python mūsų ankstesniuose tinklaraščiuose. Šiame tinklaraštyje bus aptariami ciklai. Jei esate naujas Python, prašome pradėti nuo pirmo tinklaraščio, kad geriau suprastumėte šią temą.
Ciklai naudojami, kai reikia atlikti užduotį daugiau nei vieną kartą. Pavyzdžiui, spausdinti skaičius nuo 1 iki 100 arba geresnis pavyzdys būtų sumuoti visus elementus sąraše arba masyve. Kartais reikia rašyti daugiau nei 1 ciklą arba ciklą viduje ciklo. Python rašyti šiuos ciklus yra labai paprasta, o sintaksė yra lengvai suprantama. Kaip matėme, Python mes neturime pirmiausia deklaruoti kintamojo prieš jį naudojant. Pagrindinis ciklų rašymas prasideda nuo for ciklo. Supraskime „for“ ciklą.
For cikle turime tris dalykus, kuriuos reikia paminėti. Pirmasis yra pradinė kintamojo vertė, kuriai reikia atlikti iteraciją, sustojimo sąlyga ir paskutinis – kiek žingsnių norite padidinti arba sumažinti iteratorių.
Pažiūrėkime „for“ ciklo sintaksę:
# For Ciklas for var in range(10): print(var) for var in range(0,10,1): print(var)
Viršuje pateiktoje kodo iliustracijoje matome, kad for ciklai duoda tą patį rezultatą. Sintaksė pabaigoje, kur pateikėme funkciją range, turi tris argumentus, kuriuos aptarėme ankstesniame skyriuje. Viršutiniame pavyzdyje range turi 0,10,1, kur 0 yra pradinė iteratoriaus vertė, 10 yra galutinė vertė, tačiau range iš tikrųjų iteruoja iki 10-1, tai yra 9, o 1 yra iteratoriaus didinimas kiekvieną kartą, kai ciklas vykdomas.
Paleiskime aukščiau pateiktą programą
Išvestis: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Kaip matome iš išvesties iliustracijos, jis spausdina skaičius nuo 0 iki 9.
Sąraše turime daiktų rinkinį, o žemiau pateikta iliustracija, kaip naudoti for ciklus iteruoti per sąrašą.
X=[1,2,3,4,5,6] for i in X: print(i)
Išvestis: Tai atspausdins visus elementus sąraše. 1,2,3,4,5,6
Norint įtraukti indeksą taip pat spausdinant, kodas iliustruotas žemiau.
X=[1,2,3,4,5,6] for i in range(len(X)): print(i,X[i]) [/code> <p>Tai atspausdins tiek indeksą, tiek vertę sąraše.</p> <p>Yra lengvas būdas gauti indeksą ir vertę naudojant enumerate funkciją. Enumerate funkcijos naudojimas iliustruotas žemiau.</p> [code lang="js"] X=[1,2,3,4,5,6] for i,value in enumerate(X): print(i,value)
Išvestis: 0,1 1,2 2,3 3,4 4,5 5,6
Kolekcijos iteravimas yra panašus į sąrašo iteravimą naudojant for ciklą. Pavyzdys iliustruotas žemiau.
X={1,2,3,4,5,6} for i,value in enumerate(X): print(i,value) [/code> Išvestis: 0,1 1,2 2,3 3,4 4,5 5,6 [/code>Tupla iteravimas yra panašus į sąrašo iteravimą naudojant for ciklą. Pavyzdys iliustruotas žemiau.
X=(1,2,3,4,5,6) for i,value in enumerate(X): print(i,value) [/code> Išvestis: 0,1 1,2 2,3 3,4 4,5 5,6 [/code>Žodyno iteravimas skiriasi nuo kitų duomenų tipų, nes žodynas turi raktų-vertės poras. Taigi, norint gauti tik raktus, naudojame dictionaryname.keys(), o vertėms naudojame dictionaryname.values(). Pavyzdys iliustruotas žemiau.
X={“1”:1,”2”:2} for key in X.keys(): print(key) for value in X.values(): print(value) for key,value in X.items(): print(key,value) [/code> Išvestis: 1 2 1 2 1,1 2,2 [/code>Įdėti ciklai yra naudingi kuriant brutalius sprendimus tam tikrai problemai. Jie didina programos laiko sudėtingumą ir mažina skaitomumą.
a = [1, 2] b = [10, 13] # gaunant skaičius, kurių produktas yra 13 for i in a: for j in b: if i*j == 13: print(i, j) [/code>Viršuje pateiktame kodo bloke mes apibrėžėme 2 sąrašus, o kiekvienas sąrašas turi tam tikrą skaičių rinkinį. Pagrindinis tikslas buvo rasti, kokių skaičių produktas bus 13 iš abiejų sąrašų ir taip pat atspausdinti tuos skaičius. Šiam tikslui turėjome iteruoti per 2 sąrašus, todėl buvo naudojami 2 for ciklai.
Alternatyvus būdas:
Yra funkcija itertools, kuri vadinama product. Tai padeda išlaikyti įdėtus for ciklus, jei jie yra programoje, skaitomus. Pavyzdys iliustruotas žemiau.
from itertools import product
a = [1, 2]
b = [10, 13]
# gaunant skaičius, kurių produktas yra 13
for i, j in product(a, b):
if(i*j == 13): print(i, j) [/code>Iki šiol mes tik atspausdinome išvestį, bet niekada nedavėme jokio įvesties mūsų programai. Python input() naudojamas įvesti duomenis į programą. Pavyzdys iliustruotas žemiau. While ciklas naudojamas, kai norite vykdyti programą, jei sąlyga yra įvykdyta. While ciklo pavyzdžiai iliustruoti žemiau.
Spausdinant 0-9 naudojant while ciklą:
i = 0
while(i < 10): print(i) i += 1 [/code>Kaip matote, sintaksė yra while, po kurios eina sąlyga, o ciklo viduje mes didiname iteratorių pagal norimą skaičių.
Išvestis: 0 1 2 3 4 5 6 7 8 9 [/code>
Šiame tinklaraštyje mes aptarėme keletą pagrindų apie ciklų teiginius python, tolesnės temos apie funkcijas bus aptartos kitame tinklaraštyje. Klausimas, kurį reikia išspręsti, pateiktas žemiau.
Taip pat galite patikti mūsų JavaScript kursas nuo pradedančiųjų iki pažengusių.
JavaScript ekspertas ir instruktorius, kuris moko IT skyrius. Jo pagrindinis tikslas yra padidinti komandos produktyvumą, mokant kitus, kaip efektyviai bendradarbiauti programuojant.
Kelios mažesnės veiklos sudaro Sprintą Scrum. Sprintai, savo ruožtu, kartu sudaro kelią, skirtą produkto kūrimui…
Gavėjai vis dažniau renkasi vaizdo medžiagą. Rašytinės formos tampa vis mažiau populiarios. Tradiciniai tinklaraštininkai bando…
Kopirajtingas pastaruoju metu tapo itin populiaria profesija. Vis daugiau reklamos tiek iš laisvai samdomų kopiraiterių,…
Ar kada nors jaučiate, kad diena per trumpa viskam, ką planavote, padaryti? Visi mes tai…
Kas yra programinė įranga? Kokie yra jos tipai ir platinimo metodai? Kalbėdami apie skaitmeninius produktus,…
Pateikti ir perduoti tyrimų rezultatus greičiausiai yra viena iš svarbiausių (ir reikalaujančių daug pastangų) UX…