Contidos
Š¦ikl para python i ciclo mentres ā declaraciĆ³ns software lingua, a saber: operadores de iteraciĆ³n, leting repetir cĆ³digo nĆŗmero dado tempo.
Š¦ŠøŠŗŠ» Para ā Ńintaxis
Como xa se explicou, cinclude for en Python Ć© un iterador baseado enŠ¹ por cicloidentidade. Ć© el actos por elementos tuplas Šø lista, vocabulario chaves e outro obxectos iterables.
Un bucle en Python comeza coa palabra clave for, seguida dun nome de variable arbitrario que almacena o valor do seguinte obxecto na secuencia dada. A sintaxe xeral para for...in en Python Ć© asĆ:
for in: else:
CompoƱentes "secuencias" estĆ”n listados un tras outro variable de ciclo. Ou mellor dito, variable apunta a tal elementos. Para todos deles "acciĆ³n" realĆzase.
Un simple bucle for en Python cun exemplo especĆfico:
>>> linguaxes = ["C", "C++", "Perl", "Python"] >>> para x nas linguas: ... print(x) ... C C++ Perl Python >>>
O bloque else Ć© especialth. Se a programadorŃtraballando Ń Perl familiarŃ con Ć©l, Que para os que interactĆŗan Ń C e C++ - esta Ć© unha innovaciĆ³n. Semanticamente iso funciĆ³ns Ńde xeito idĆ©ntico loop mentres.
SĆ³ se executa cando o bucle non Ć© "detido" pola instruciĆ³n break. Ć dicir, execĆŗtase sĆ³ despois de que todos os elementos pasaron pola secuencia especificada.
Operador de ruptura en python: ruptura
Se o programa ten un bucle for necesario detero declaraciĆ³n de ruptura, he completarvai programa fluxo vontade contaser sen activaciĆ³n doutro.
MĆ”is a miĆŗdo romper frases en pythonuyutsya con declaraciĆ³ns condicionais.
comestibles = ["chuletas", "boliƱos","ovos","noces"] para alimentos en comestibles: if food == "boliƱos": print("Ā”Eu non como boliƱas!") break print("Xenial, delicious " + comida) else: print("Ć bo que non houbese boliƱas!") print("A cea rematou.")
Se executas este cĆ³digo, obterĆ”s o seguinte resultado:
Chuletas estupendas, deliciosas. Eu non como boliƱas! A cea rematou.
Eliminamos as "bolas de masa" da lista de datos existente e obtemos:
Excelentes chuletas deliciosas Excelentes ovos deliciosos Excelentes froitos secos deliciosos Ć ben que non habĆa boliƱas! A cea rematou.
operador de salto de python: continĆŗa
Digamos que a antipatĆa do usuario a tales produtos non Ć© tan grande como para abandonar completamente o seu consumo. Como resultado, o bucle continĆŗa co operador continue
. O seguinte script usa a instruciĆ³n continue
, para seguir iterando a lista de "contacto de boliƱas".
comestibles = ["chuletas", "boliƱas","ovos","noces"] para alimentos en comestibles: if food == "boliƱas": print("Non como boliƱas!") continue print("Xenial, delicioso " + comida) # isto poderĆa ser un cĆ³digo para gozar da comida :-) else: print("Odio as boliƱas!") print("A cea rematou.")
O punto de partida:
Chuletas estupendas, deliciosas. Eu non como boliƱas! Ovos estupendos e deliciosos Noces estupendas e deliciosas. Odio as boliƱas! A cea rematou.
Iterando sobre listas coa funciĆ³n range().
Se queres acceder aos Ćndices dunha lista, non estĆ” claro como usar un bucle for para este fin. Ć posible acceder a todos os elementos, pero o Ćndice do elemento permanecerĆ” inaccesible. Non obstante, hai un mĆ©todo para acceder tanto ao Ćndice do elemento como ao propio elemento. Para este fin, utilĆzase a funciĆ³n range()
combinado coa funciĆ³n de lonxitude len()
:
Fibonacci = [0,1,1,2,3,5,8,13,21] para i no rango(len(fibonacci)): print(i,fibonacci[i])
Obter:
0 0 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21
AtenciĆ³n! Cando se aplica
len()
Šŗlist
ortuple
, obtense o nĆŗmero correspondente de elementos da secuencia dada.
Dificultades para iterar sobre listas
Ao iterar sobre unha lista, recomĆ©ndase evitar a dinĆ”mica da lista no corpo do bucle. Para mĆ”is claridade, podemos ofrecer a seguinte opciĆ³n:
cores = ["vermello"] para i en cores: if i == "vermello": cores += ["negro"] if i == "negro": cores += ["branco"] imprimir(cores)
Que pasa ao solicitar print(colours)
?
['vermello', 'negro', 'branco']
Para evitar isto, recomƩndase interactuar coa copia mediante franxas, como no seguinte exemplo:
cores = ["vermello"] para i en cores[:]: if i == "vermello": cores += ["negro"] if i == "negro": cores += ["branco"] print(cores )
Resultado:
['Vermello Negro']
A lista foi modificada colours
, pero esta acciĆ³n non afectou ao bucle. Os datos que debĆan ser iterados permaneceron inalterados durante a execuciĆ³n do bucle.
Enumerar en Python 3
Enumerate Ć© unha funciĆ³n integrada de Python. A maiorĆa dos principiantes, asĆ como algĆŗns programadores experimentados, non son conscientes da sĆŗa existencia. PermĆtelle contar automaticamente as iteraciĆ³ns do bucle. Por exemplo:
para contador, valor en enumerate(algunha_lista): imprimir(contador, valor)
funciĆ³n enumerate
tamƩn leva un argumento opcional (o valor da orixe, tomado por defecto para 0
). O que o fai aĆnda mĆ”is eficiente.
my_list = ['apple', 'banana', 'cherry', 'peach'] for c, value in enumerate(my_list, 1): print(c, value) # Resultado: # 1 mazĆ” # 2 banana # 3 cereixa # 4 pexego