Escriu per cercar…

Iteració

Un bloc de codi es repeteix mentre es compleixi una condició.

S'ensenya a
Estructures de control en PythonIteració: while, for i acumuladorsPYTHONLlenguatges de marques i sistemes de gestió d’informacióDocuments dinàmicsASIXProgramacióProgramació estructuradaDAW-BIO

Introducció

A Funcions vas ensenyar-li a Python la paraula step, i l’escala de dotze sentències va quedar en tres:

python
def step(size):
    left(90)
    forward(size)
    right(90)
    forward(size)

step(40)
step(40)
step(40)

Molt millor. Però mira les tres últimes línies.

Són idèntiques, i si demà te’n demanen una de deu graons n’has d’escriure deu.

La funció ha resolt la meitat del problema: ja no repeteixes quatre sentències, però encara repeteixes la crida.

Hi ha alguna cosa que no encaixa: el programa és llarg, però la idea és curta.

La idea és fes un graó, tres vegades.

Aquesta pàgina tracta de com escriure la idea en lloc de la llista.

A Selecció vas aprendre a executar un bloc de codi zero o una vegada.

Ara aprendràs a executar-lo tantes vegades com calgui.

while

L’expressió while repeteix un bloc de codi mentre una condició es compleix.

És com dir-li a Python: repeteix això mentre alguna cosa sigui certa.

python
while <condition>:
    # codi a repetir

S’escriu igual que un if: la condició, els dos punts, i el bloc sagnat a sota.

L’única diferència és què passa quan s’acaba el bloc.

Un if continua endavant, i un while torna a la condició.

Obre el projecte que vas crear a Seqüència i torna a escriure l’escala, però ara amb un bucle:

python
L'escala, amb un bucle
from turtle import *

def step(size):
    left(90)
    forward(size)
    right(90)
    forward(size)

width(3)

i = 1
while i <= 3:
    step(40)
    i += 1

El mateix dibuix. Les tres crides idèntiques han quedat en una, i per fer-ne una de deu graons només has de canviar el 3.

Prem Edita, posa i <= 10 i comprova-ho.

Estàs llegint una vista prèvia.

Inicia la sessió amb Google per llegir la pàgina sencera.

Inicia la sessió amb Google

Només et demanarem que acceptis les condicions del servei.