Python

Izmantojiet funkciju Python, lai izveidotu cilpas ar skaitītājiem

Izmantojiet funkciju Python, lai izveidotu cilpas ar skaitītājiem

Šajā rakstā tiks paskaidrota Python standarta moduļu bibliotēkā pieejamās funkcijas “uzskaitīt” izmantošana. Funkcija Uzskaitīt ļauj piešķirt “indeksu” vai “skaitīt” jebkura iterējama objekta elementiem. Pēc tam jūs varat ieviest turpmāku loģiku tajās, jo jums būs piekļuve abām vērtībām un tām piesaistītajam skaitam.

Sintakse un pamatpiemērs

Ja esat izmantojis “for” cilpu citās programmēšanas valodās, it īpaši “C” valodā un citās valodās ar “C” stila sintaksi, iespējams, esat norādījis sākuma indeksu ciklā. Lūk, kā izskatās cilne “par” “C” un citās valodās ar līdzīgu sintaksi:

par (int i = 0; i < 10; i++)

printf ("% d \ n", i);

Cilpas paziņojums inicializē mainīgo, kura vērtība ir nulle, pārbauda, ​​vai tas ir mazāks par slieksni, un palielina to par vienu skaitli, novērtējot loģiku cilpas blokā (ja ir izpildīts apstāšanās nosacījums). Tādā veidā jūs varat izmantot indeksu un piešķirt to visiem objektiem, uz kuriem ir atsauce jūsu cilpas blokā. Salīdzinājumam šeit ir redzams, kā for for loop ar tādu pašu rezultātu Python:

i diapazonā (0, 10):
drukāt (i)

Funkcija “diapazons” Python ļauj norādīt skaitļu diapazona secību, kuras noklusējuma solis ir 1. Soli vērtību var mainīt, sniedzot trešo argumentu. Funkcijas “diapazons” otro argumentu izmanto, lai iestatītu apstāšanās nosacījuma slieksni. Abiem kodu paraugiem ir šāda izeja:

0
1
2
3
4
5
6
7
8
9

Šīs cilpas darbojas labi, ja vēlaties tikai ģenerēt kādu skaitļu secību un saistīt tās ar kādu loģiku cilpas paziņojumā. Tomēr, iespējams, jums būs jāizmanto cita ligzdota cilpa vai jāizmanto funkcija “ienesīgums” jebkuram atkārtojamam tipam, lai tiem piešķirtu kaut kādu izsekojamu skaitu. Metode “uzskaitīt” atvieglo indeksu piešķiršanu atkārtojamām versijām vienā paziņojumā, tādējādi novēršot nepieciešamību palaist vairākas ligzdotas cilpas. Apskatiet šo koda paraugu:

skaitļi = ["nulle", "viens", "divi", "trīs", "četri", "pieci"]
enumerated_numbers = uzskaitīt (skaitļi)
indeksam, vienums enumerated_numbers:
drukāt (rādītājs, vienums)

Pirmais paziņojums nosaka jaunu mainīgo ar nosaukumu “skaitļi” un piešķir tam iterējamu (saraksta tipu). Otrais paziņojums parāda funkcijas “uzskaitīt” izmantošanu, kur tai kā obligātu argumentu iesniedzat iterāciju. Trešais paziņojums pārveido mainīgo “enumerated_numbers” par saraksta tipa objektu. Pēc noklusējuma funkcija “uzskaitīt” ģenerē objektu “uzskaitīt”, nevis iterējamu veidu, tāpēc jums tas jāpārvērš. Pēc iepriekš minētā koda parauga palaišanas jums jāiegūst šāda izeja:

[(0, 'nulle'), (1, 'viens'), (2, 'divi'), (3, 'trīs'), (4, 'četri'), (5, 'pieci')]

Funkcija “uzskaitīt” piešķir katram skaitam iterējamā elementa skaitu un izveido kopas ar pārī savienotām vērtībām. Pēc noklusējuma skaitīšana sākas no nulles.

Tagad, kad katram elementam esat piešķīris numuru iterējamā tipā, varat to viegli pārkārtot, nerakstot ligzdotus paziņojumus:

skaitļi = ["nulle", "viens", "divi", "trīs", "četri", "pieci"]
enumerated_numbers = uzskaitīt (skaitļi)
indeksam, vienums enumerated_numbers:
drukāt (rādītājs, vienums)

Iepriekš norādītais koda paraugs radīs šādu izvadi:

0 nulle
1 viens
2 divi
3 trīs
4 četri
5 pieci

Kodu varat saīsināt, izmantojot funkciju “uzskaitīt”, kā parādīts zemāk esošajā paraugā:

skaitļi = ["nulle", "viens", "divi", "trīs", "četri", "pieci"]
indeksam, vienums uzskaitījumā (skaitļi):
izdrukāt (rādītājs, vienums)

Skaitīšanas izmantošana ar citu sākuma indeksu

Funkcijai “uzskaitīt” tiek izmantots neobligāts arguments, kurā varat norādīt sākuma indeksu. Pēc noklusējuma tā ir nulle, taču to var mainīt, izmantojot argumentu “start”:

skaitļi = ["viens", "divi", "trīs", "četri", "pieci"]
indeksam, vienums uzskaitījumā (skaitļi, sākums = 1):
drukāt (rādītājs, vienums)

Otrajā paziņojumā, lai mainītu sākuma punktu, tiek izmantots arguments “start = 1”. Pēc iepriekš norādītā koda parauga palaišanas jums jāiegūst šāda izeja:

1 viens
2 divi
3 trīs
4 četri
5 pieci

Indeksa piešķiršana ar soļiem

Šī raksta pirmajā sadaļā ir parādīta “for” cilpas sintakse “C” valodā, kur jūs varat definēt soļus starp katru nākamo skaitīšanu vai indeksu. Funkcijai “uzskaitīt” Python nav pieejams neviens šāds arguments, tāpēc jūs nevarat norādīt soli starp skaitīšanu. Jūs patiešām varat uzrakstīt savu loģiku, lai īstenotu darbības uzskaitītajā “par” cilpas blokā. Tomēr ir veids, kā ieviest pielāgotas darbības, uzrakstot minimālu kodu. Šis piemērs parāda soļu ieviešanu, izmantojot funkcijas “zip” un “range”:

skaitļi = ["nulle", "divi", "četri", "seši"]
indeksam, vienums rāvējslēdzējā (diapazons (0, 7, 2), skaitļi):
izdrukāt (rādītājs, vienums)

Funkcija “zip” ļauj izveidot pārus, no diviem vai vairākiem atkārtojamiem elementiem uzņemot elementus ar vienādu indeksu. Tātad funkcija “zip” šeit uzņem elementu no iterējamās vērtības, kas atgriezta no funkcijas “diapazons (0, 7, 2)”, un citu elementu no “numuru” saraksta, un pēc tam pārī savieno tos abus. Galarezultāts ir identisks funkcijas “uzskaitīt” ieviešanai, bet ar pielāgotajām darbībām, kas norādītas kā trešais arguments funkcijā “diapazons (0, 7, 2)” (šajā gadījumā 2). Pēc iepriekš norādītā koda parauga palaišanas jums jāiegūst šāda izeja:

0 nulle
2 divi
4 četri
6 seši

Secinājums

Python funkcija “uzskaitīt” ļauj rakstīt kodolīgu kodu, iterējama objekta elementiem piešķirot skaitļu secību. Tas ir patiešām noderīgi, ja vēlaties izsekot iterējamā tipa vienumu indeksam. Ja vēlaties “uzskaitīt” atkārtojamus veidus ar pielāgotām darbībām, izmantojiet funkciju “zip”, kas paskaidrota pēdējā piemērā.

Kā izstrādāt spēli Linux
Pirms desmit gadiem maz Linux lietotāju varētu paredzēt, ka viņu iecienītā operētājsistēma kādu dienu būs populāra spēļu platforma komerciālām videosp...
Komerciālo spēļu dzinēju atvērtā koda porti
Bezmaksas, atvērtā koda un starpplatformu spēļu dzinēju atpūtu var izmantot, lai spēlētu vecos, kā arī dažus no diezgan nesenajiem spēļu nosaukumiem. ...
Labākās komandrindas spēles Linux
Komandrinda nav tikai lielākais sabiedrotais, lietojot Linux, bet tā var būt arī izklaides avots, jo to var izmantot, lai spēlētu daudzas jautras spēl...