bucle for a Python. Sintaxi, iteraciĆ³ de llista, interrupciĆ³, continuaciĆ³ i altres funcions

Š¦ikl per a Python i cicle mentre que ā€“ declaracions eSCADA llenguatge, Ć©s a dir: operadors d'iteraciĆ³, detING repetir el codi nĆŗmero donat temps.

Š¦ŠøŠŗŠ» Per a ā€” сintaxis

Com ja s'ha explicat, cinclude for a Python Ć©s un iterador basat enŠ¹ per cicleidentitat. Ć©s ell fets per elements tuples Šø llista, vocabulari claus i un altre objectes iterables.

Un bucle a Python comenƧa amb la paraula clau for, seguida d'un nom de variable arbitrari que emmagatzema el valor del segĆ¼ent objecte en la seqĆ¼ĆØncia donada. La sintaxi general de for...in a Python Ć©s aixĆ­:

per a: else:      

components "seqĆ¼ĆØncies" es llisten un darrere l'altre variable de cicle. O millor, variable apunta a tal elements. Per a tothom d'ells es realitza una "acciĆ³".

Un bucle for senzill a Python amb un exemple especĆ­fic:

>>> idiomes = ["C", "C++", "Perl", "Python"] >>> per a x en idiomes: ... print(x) ... C C++ Perl Python >>>

El bloc else Ć©s especialth. Si a programaыlaboral с Perl familiarы amb ell, que per als que interactuen с C i C++ - aixĆ² Ć©s una innovaciĆ³. SemĆ nticament aixĆ² funcions тidĆØnticament mentre bucle.

NomĆ©s s'executa quan el bucle no Ć©s "aturat" per la instrucciĆ³ break. Ɖs a dir, nomĆ©s s'executa desprĆ©s que tots els elements hagin passat per la seqĆ¼ĆØncia especificada.

Operador Break en Python ā€“ break

Si el programa tĆ© un bucle for necessari interromprela declaraciĆ³ de trencament, he completarvai programa flux voluntat contper ser sense activaciĆ³ d'una altra cosa.

MĆ©s sovint trencar frases en pythonuyutsya amb enunciats condicionals.

comestibles = ["colletes", "boles de massa", ous","nous"] per als aliments en comestibles: if food == "boles de massa": print("No menjo boles de massa!") break print("Genial, delicious " + menjar) else: print("Ɖs bo que no hi hagi boles de massa!") print("El sopar s'ha acabat.")

Si executeu aquest codi, obtindreu el resultat segĆ¼ent:

Costelles bonĆ­ssimes i delicioses. No menjo boletes! S'ha acabat el sopar.

Suprimim les "boles de massa" de la llista de dades existent i obtenim:

Costelles excelĀ·lents i delicioses Ous excelĀ·lents i deliciosos fruits secs excelĀ·lents i deliciosos El bĆ© que no hi havia boletes! S'ha acabat el sopar.

python skip operator ā€“ continua

Diguem que l'antipatia de l'usuari cap a aquests productes no Ć©s tan gran com per abandonar completament el seu consum. Com a resultat, el bucle continua amb l'operador continue. L'script segĆ¼ent utilitza la declaraciĆ³ continue, per continuar iterant a travĆ©s de la llista sobre "contacte de boles".

comestibles = ["colletes", "boles de massa", ous","nous"] per a menjar en comestibles: if food == "boles de massa": print("No menjo boles de massa!") continue print("Genial, deliciĆ³s " + menjar) # aquest podria ser el codi per gaudir del menjar :-) else: print("Odio les boles de massa!") print("El sopar s'ha acabat.")

El resultat final:

Costelles bonĆ­ssimes i delicioses. No menjo boletes! Uns ous bonĆ­ssims i deliciosos fruits secs fantĆ stics. Odio les boles de massa! S'ha acabat el sopar.

IteraciĆ³ per llistes amb la funciĆ³ range().

Si voleu accedir als Ć­ndexs d'una llista, no estĆ  clar com utilitzar un bucle for per a aquest propĆ²sit. Ɖs possible accedir a tots els elements, perĆ² l'Ć­ndex de l'element romandrĆ  inaccessible. Tanmateix, hi ha un mĆØtode per accedir tant a l'Ć­ndex de l'element com al propi element. Per a aixĆ² s'utilitza la funciĆ³ range() combinat amb la funciĆ³ de longitud len():

Fibonacci = [0,1,1,2,3,5,8,13,21] per a i a l'interval(len(fibonacci)): print(i,fibonacci[i])

Aconseguir:

0 0 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21

AtenciĆ³! Quan s'aplica len() Šŗ list or tuple, s'obtĆ© el nombre d'elements corresponent de la seqĆ¼ĆØncia donada.

Dificultats per repetir llistes

En iterar sobre una llista, es recomana evitar la dinĆ mica de la llista al cos del bucle. Per a mĆ©s claredat, podem oferir la segĆ¼ent opciĆ³:

colors = ["vermell"] per a i en colors: if i == "vermell": colors += ["negre"] if i == "negre": colors += ["blanc"] imprimir(colors)

QuĆØ passa en solĀ·licitar print(colours)?

['vermell', 'negre', 'blanc']

Per evitar-ho, es recomana interactuar amb la cĆ²pia mitjanƧant rodanxes, com a l'exemple segĆ¼ent:

colors = ["vermell"] per a i en colors[:]: if i == "vermell": colors += ["negre"] if i == "negre": colors += ["blanc"] imprimir(colors )

Resultat:

['Vermell Negre']

S'ha canviat la llista colours, perĆ² aquesta acciĆ³ no va afectar el bucle. Les dades que calia repetir es van mantenir sense canvis durant l'execuciĆ³ del bucle.

Enumerar en Python 3

Enumerar Ć©s una funciĆ³ de Python integrada. La majoria dels principiants, aixĆ­ com alguns programadors experimentats, no sĆ³n conscients de la seva existĆØncia. Us permet comptar automĆ ticament les iteracions del bucle. Per exemple:

per al comptador, valor a enumerate(some_list): print(counter, value)

function enumerate tambĆ© pren un argument opcional (el valor de l'origen, pres per defecte per 0). La qual cosa la fa encara mĆ©s eficient.

la meva_lista = ['poma', 'plƠtan', 'cirera', 'prƩssec'] per a c, valor a enumerate(la meva_lista, 1): print(c, valor) # Resultat: # 1 poma # 2 plƠtan # 3 cirera # 4 prƩssec

Deixa un comentari