Edukien aurkibidea[Ezkutatu][Erakutsi]
Azken tutorialean, while begiztak eta kode bloke bat hainbat aldiz exekutatu nola egin ikasi genuen.
Python-en, "begizta for" eta "begizta habiaratua" bezalako beste begiztak ditugu. Ikus dezagun nola erabiltzen diren.
Loopsetarako
"For loop" erabiltzen dugu bilduma bateko elementuen gainean errepikatzeko, adibidez, kate bat. Katea karaktere-segida bat denez, bilduma baten itxura du. Hori dela eta, for begizta bat erabil dezakegu kate bateko karaktere bakoitzaren gainean errepikatzeko eta gero harekin zerbait egin.
Hemen adibide bat.
"For" idazten dugu aldagai bat eta gero kate bat.
for item in 'Python':
Hemen "elementuak" Python hitzaren karaktereak esan nahi du. Begiztaren lehen iterazioan "elementua" 'P' esan nahi du, bigarren iterazioa 'y' eta abar. Exekutatu dezagun hau
Kate honetako karaktere bakoitza lerro berri batean inprimatuta dagoela ikus dezakezu.
Ikus dezagun beste adibide bat. Python-en zerrendak defini ditzakegu kortxete erabiliz. Beraz, utzi zerrenda bat definitzen kortxete erabiliz.
for item in ['Shahbaz', 'Aayush', 'Jay']:
print(item)
Orain hiru izenak lerro ezberdinetan zerrendatuko ditu.
Ezarpen honetan zenbaki zerrenda bat ere erabil dezakegu. 0tik 9rako zenbaki guztiak idatzi beharrean, "Barrutia" funtzioa erabiliko dut gauzak errazteko. Ea nola egiten den.
for item in range(10):
print(item)
0rekin ez hasteko ere programa dezakegu.
for item in range(5, 10):
5etik 9ra bitarteko zenbakiak inprimatuko ditu terminalean.
"Barrutia" funtzioak urratsak sarrera gisa har ditzake. Beraz, honela idazten badugu:
for item in range(5, 10, 2):
5, 7 eta 9 inprimatuko ditu, hau da, iterazio bakoitzaren ondoren bi urrats aurrera egiten du.
Ariketa
Orain hemen duzu ariketa bat. Erosketa saski bateko elementu guztien kostu osoa kalkulatzeko programa bat idaztea nahi dut. Beraz, demagun 10, 20 eta 30 bezalako prezioen zerrenda bat dugula, gure irudizko erosketa saskiko elementu guztien kostu osoa kalkulatzeko for begizta bat erabiltzea nahi dut.
Jarri burmuina lanean eta ea egin dezakezun. Iruzurrik ez.
Irtenbidea
Honelako prezioak zerrendatzen has zaitezke.
prices = [10, 20, 30]
Orain gehitu aldagai bat guztizko prezio baterako, 0tik abiatuko dena lehen iteraziorako.
total = 0
Hona hemen gure for begizta.
for price in prices:
total = total + price
// Sinplifikatu daiteke total += price
print(f"Total: {total}")
Habiaratutako begiztak
Python-en, begizta habiaratu bat erabiltzeak, funtsean, begizta bat beste begizta baten barruan gehitzea esan nahi du, eta teknika honekin gauza harrigarriak egin ditzakegu. Adibidez, erraz sor dezakegu koordenatuen zerrenda.
Koordenatu bat, dakizuenez, "x" eta "y" balioen konbinazioa da. Demagun 0 eta 0. Orain demagun honelako koordenatuen zerrenda sortu nahi duzula. 0 eta 0 ditugu, gero 0 eta 1 izango ditugu, gero 0 eta 2.
Jarraian, 'x' aldatuko dugu. 1 erabiliko dugu 'x'-erako, eta berriro ere 3 balio hauek 'y' koordenatuetarako erabiliko ditugu.
Erraz sor ditzakegu koordenatu hauek begizta habiaratuak erabiliz.
Erakutsidazu.
for x in range(4):
for y in range(3):
print(f'({x}, {y}')
Ikus dezagun irteera:
Beraz, utzi programa hau nola exekutatzen den zehatz-mehatz azaltzen. Gure kanpoko begiztaren lehen iterazioan, 'x' 0 da. Orain 2. lerroan gaude, hemen barruko begizta deitzen dugun begizta berri bat dugu. Barne-begizta honetan, lehen iterazioan, 'y' 0 izango da, beraz, 0 eta 0 inprimatzen dira terminalean.
Orain kontrola 2. lerrora edo gure barruko begiztara itzultzen da. Bigarren iterazio honetan, 'y' 1 ezarriko da, baina gure kanpoko begiztaren lehen iterazioan gaude oraindik. Beraz, 'x' 0 da oraindik, baina orain 'y' 1era igotzen da.
Horregatik 0 eta 1 ikusten ditugu terminalean. Honek gure barneko begizta exekutatu arte jarraituko du eta ondoren interpretea berriro kanpoaldeko begiztara joango da eta prozesu honek kanpoko begizta amaitu arte jarraituko du.
Erronka
Hona hemen ariketa bat zuretzat, baina hau orain arte egin dituzun ariketak baino pixka bat zailagoa da.
Habiaratutako begiztak erabiliz, idatzi kode bat 'F' forma hau marrazteko:
Irtenbidea
numbers = [5, 2, 5, 2, 2]
for x_count in numbers:
output = ''
//Irteerako aldagaia kate huts batera berrezarriko dugu.
for count in range(x_count):
output += 'x'
print(output)
Hau exekutatzeko modu askoz errazagoa dago habiaraturiko begiztak erabili gabe. Zuretzat uzten dizut asmatzeko.
biltzeko sortu
Zuek ere sentitzen al duzue beroa gora egiten duela hitzaldi bakoitzean?
Zalantzarik gabe, horrela sentitzen naiz. Askoz errazagoa egin dizut ulertzea.
Eman ditzagun gauzak gure hurrengo hitzaldiarekin.
Utzi erantzun bat