Calculatoare

Construcții în buclă în Python

Autor: Peter Berry
Data Creației: 19 Iulie 2021
Data Actualizării: 12 Mai 2024
Anonim
Introduction to For Loops in Python (Python Tutorial #5)
Video: Introduction to For Loops in Python (Python Tutorial #5)

Conţinut

Sunt dezvoltator de software cu un mare interes în analiza datelor și statistici.

Construcțiile în buclă în orice limbaj de programare sunt utilizate pentru a efectua în mod repetat o secvență de pași pentru un număr dat de ori. Python permite două tipuri de bucle: bucla for și bucla while. De asemenea, este posibil să adăugați o buclă într-o altă buclă și să creați o buclă imbricată în Python.

Bucla pentru

În timp ce iterați peste un tuplu sau listă, putem fie să folosim indici și să scriem o buclă tradițională similară cu cea găsită în C / C ++ sau să scriem o buclă pentru fiecare secvență similară cu cea din Java. Să învățăm mai multe despre bucle.

Iterarea asupra blocurilor de construcție ale unei secvențe

#! / usr / bin / python3 print („Tipărirea literelor de șir în fiecare linie ...”) pentru cur în „Hello World!”: print (cur) rhymes = ['Mary', 'Had', 'A' , „Mic”, „Miel”] print („Tipărirea cuvintelor în rimă în fiecare linie ...”) pentru cuvânt în rime: print (cuvânt) print („... A ajuns la final ...”)

În prima buclă for, luăm șirul „HelloWorld!” Și îl repetăm ​​folosind iterația variabil. În general, sintaxa acestui tip de buclă for poate fi exprimată ca:


pentru iter_var în ordine: # pași în interior pentru buclă.

Primele două pentru bucle arată cum literele dintr-un șir și cuvintele dintr-o listă care reprezintă o frază sunt tratate ca blocuri individuale ale secvenței.

Ieșirea pentru programul de mai sus va fi:

Tipărirea literelor de șir în fiecare linie ...

H

e

l

l

o

W

o

r

l

d

!

Tipărirea cuvintelor în rimă în fiecare rând ...

Maria

A avut

A

Mic

Miel ... A ajuns la final ...

Acest tip de buclă for poate fi aplicat și în cazul unui tuplu sau al unui dicționar. Codul de mai jos arată cum să iterați peste un dicționar considerând cheile sau perechile cheie-valoare ca elemente de bază ale secvenței.

#! / usr / bin / python3 print ("Iterând peste un dicționar") studentDict = {'firstName': 'john', 'lastName': 'Smith', 'age': 29, 'studentId': 415312} print ( „Iterare folosind o cheie în buclă singură”) pentru cheie în studentDict: print („cheie:„, cheie ”, valoare:„, studentDict [cheie]) print („Iterare folosind cheie și valoare”) pentru foo, bar în studentDict.items (): print ("cheie:", foo, ", valoare:", bar) print ("... A ajuns la final ...")

În prima buclă for, vom itera peste dicționar folosind singur cheia. În a doua buclă for, atât cheia, cât și valoarea sunt utilizate ca variabile de iterație pentru a itera peste elementele din dicționarul numit „studentDict”. Rețineți că nu este obligatoriu să menționați numele ca „cheie” și „valoare” întotdeauna în bucla for și pentru a o demonstra, am folosit foo și bar.


Ieșirea pentru codul de mai sus va fi:

Iterând peste un dicționar

Iterarea folosind o cheie singură în buclă

cheie: prenume, valoare: john

cheie: studentId, valoare: 415312

cheie: prenume, valoare: Smith

cheie: vârstă, valoare: 29

Iterarea folosind cheie și valoare

cheie: prenume, valoare: john

cheie: studentId, valoare: 415312

cheie: prenume, valoare: Smith

cheie: vârstă, valoare: 29

... Am ajuns la final ...

Iterarea peste secvență utilizând indexul și intervalul

Acest lucru este similar cu buclele for pe care le vedem în limbi precum C / C ++ / Java etc. Elementele unei secvențe date sunt accesate folosind index.

Funcția range () este utilizată pentru a returna un interval de valori începând de la zero ca limită inferioară la valoarea menționată ca parametru în limita superioară. Este posibil să obțineți un sub-interval menționând o limită inferioară și superioară.

De exemplu, intervalul (2,6) returnează 2, 3, 4, 5, în timp ce intervalul (3) va întoarce 0, 1, 2. În următorul cod, folosim intervalul (len (rime)) pentru a direcționa python să itereze peste pozițiile 0, 1, 2, până la rime [lungime - 1] și tipăriți valorile.


#! / usr / bin / python3 rhymes = ['Mary', 'Had', 'A', 'Little', 'Lamb'] print ("Tipărirea fiecărui cuvânt într-o nouă linie accesată de index.") pentru index în interval (len (rime)): print (rime [index])

Ieșirea pentru codul de mai sus va fi:

Tipărirea fiecărui cuvânt într-o linie nouă accesată prin index.

Maria

A avut

A

Mic

miel

Bucla While

Sintaxa generală a buclei while poate fi reprezentată după cum urmează:

în timp ce condiția: # faceți acești pași

Execută în mod repetat pașii atâta timp cât condiția este adevărată. Deci, o buclă infinită poate fi ușor scrisă folosind această buclă while, la fel cum am creat-o în C / C ++ / Java folosind:

test = 1 în timp ce test == 1: # faceți acești pași de nenumărate ori

În următorul program, imprimăm numerele de la 11 la 20 folosind o buclă de timp simplă.

#! / usr / bin / python3 print ("Număr de la 11 la 20") număr = 11 în timp ce număr = 20: print (număr) număr = număr + 1

Ieșirea programului de mai sus va fi după cum urmează:

Numărând de la 11 la 20

11

12

13

14

15

16

17

18

19

20

Bucle imbricate

Este posibil să cuibărești o buclă într-o altă buclă. Luați în considerare următorul exemplu de program. Este conceput pentru a imprima o piramidă numerică în modul următor:

1

1 2

1 2 3

1 2 3 ... n

#! / usr / bin / python3 # Program pentru a imprima o piramidă numerică de genul: pentru i în intervalul (1,6): pentru j în intervalul (1, i + 1): print (j, end = "") print ( "")

În prima buclă for, specificăm limita inferioară a gamei ca 1 și limita superioară ca 5 + 1. În a doua buclă, specificăm intervalul de la 1 la i + 1 pentru fiecare linie. Rețineți că declarația de imprimare are un parametru numit end = ”“.

Aceasta este pentru a îndruma interpretul să tipărească alte ieșiri în aceeași linie și toate aceste ieșiri vor fi separate folosind caracterul special prezentat. Dacă instrucțiunea este schimbată în tipărire (j, sfârșit =’, ’), toate numerele vor avea o virgulă finală. Rezultatul pentru programul de mai sus va fi:

1

1 2

1 2 3

1 2 3 4

1 2 3 4 5

Declarații de control al buclei

Python oferă trei instrucțiuni de control:

  • Declarație de pauză: Termină instrucțiunea buclă și transferă controlul în afara scopului către următoarea instrucțiune care urmează buclei.
  • Declarație de continuare: Face ca bucla să sară peste pașii rămași ai buclei, dar continuă cu următoarea iterație.
  • Declarație de aprobare: Este adesea util pentru depanarea codului. Nimic nu se întâmplă cu adevărat când declarația este executată.

Să învățăm mai multe despre aceste afirmații cu un exemplu:

#! / usr / bin / python3 print ('Tipărirea literelor în Bine ați venit până la litera l') pentru litera din 'Bine ați venit': dacă litera == 'l': print print (letter, end = ",") print ("" ) print ('Tipărirea scrisorilor în întâmpinare după omiterea l') pentru litera din 'Bun venit': dacă litera == 'l': continuați tipărirea (letter, end = ",") print ("") print ("Adăugarea blocului de trecere când se întâlnește l ") pentru litera din 'Bun venit': dacă litera == 'l': trece print (" ") print (" Bloc de trecere întâlnit ") print (" Continuă tipărirea ") print (letter, end =", ")

Ieșirea codului de mai sus va fi după cum urmează:

Tipărirea scrisorilor în Bun venit până la litera l

Noi,

Tipărirea scrisorilor în bun venit după omiterea l

Noi venim,

Adăugarea blocului de trecere când se întâlnește l

Noi,

Bloc de trecere întâlnit

Continuați imprimarea

l, c, o, m, e,

Publicații Populare

Pentru Dumneavoastră

O comparație între Google Analytics și StatCounter
Calculatoare

O comparație între Google Analytics și StatCounter

Am învățat ă lucrez ca un contractor independent, mergând direct pe piață, de douăzeci și șapte de luni.Odată cu apariția rețelelor ociale, a exi tat un potop de aplicații web și alte in tru...
Cum să faci un videoclip Stop Motion: Idei pentru proiecte de filme iPad
Calculatoare

Cum să faci un videoclip Stop Motion: Idei pentru proiecte de filme iPad

Jonathan e te un profe or certificat care a predat în Marea Britanie și în UA. Acum lucrează ca con ultant de învățare digitală.Filmele top motion datează de la începutul ecolului ...