Control de flujo de Python: bucle

Control de flujo de Python: bucle


Los bucles son procesos que a menudo se usan en programas de computadora.Imagínese, si tenemos 10,000 datos para procesar, cada proceso de procesamiento de datos es exactamente el mismo, si usamos el proceso secuencial para repetir el proceso de procesamiento 10,000 veces, ¿está muy cansado? Y usar el bucle for es mucho más simple.
Bucle de pitón

Para bucle

El bucle for se encuentra realmente cuando recorremos la lista y el diccionario. Su sintaxis es muy simple for item in items .
Echemos un vistazo al bucle for:
numbers = [1,2,3,4,5,6]
for n in numbers:
    x = n * n
    print(x)
El bucle for se usa para recorrer una secuencia con mayor frecuencia. A veces no nos da una secuencia lista para recorrer, pero nuestro programa necesita realizar un bucle un número específico de veces. En este punto usamos la función range() . En Python 3.6, el range no range una función incorporada, sino un tipo, pero en Python 2.7 es una función incorporada:
In [134]: range?
Init signature: range(self, /, *args, **kwargs)
Docstring:     
range(stop) -> range object
range(start, stop[, step]) -> range object

Return an object that produces a sequence of integers from start (inclusive)
to stop (exclusive) by step.  range(i, j) produces i, i+1, i+2, ..., j-1.
start defaults to 0, and stop is omitted!  range(4) produces 0, 1, 2, 3.
These are exactly the valid indices for a list of 4 elements.
When step is given, it specifies the increment (or decrement).
Type:           type
Subclasses:     

In [135]: type(range)
Out[135]: type

In [136]: len?
Signature: len(obj, /)
Docstring: Return the number of items in a container.
Type:      builtin_function_or_method

In [137]: range(4)
Out[137]: range(0, 4)
Lo anterior es una descripción del rango visto desde IPython en Python 3.6. Su Tipo es de tipo, a diferencia de la función incorporada len cuyo tipo es builtin_function_or_method.
Aunque el tipo de rango ha cambiado de una función incorporada en Python 2 a un tipo en 3.6, no afecta nuestro uso. Si queremos imprimir hola un cierto número de veces,
Por ejemplo, 3 veces, el siguiente es el uso clásico de rango:
for i in range(3):
    print('hi')
Aquí no se utiliza i en el bucle. Para evitar que el verificador de especificación de código (como pylint) informe "hay variables no utilizadas", podemos usar el guión bajo _lugar.
La diferencia en el número de parámetros de rango () también representa la generación de diferentes secuencias:
  • El range (5) genera un total de 5 secuencias de enteros de 0-4
  • El range (1,5) genera una secuencia de números enteros desde 1 a 5 pero sin incluir 5, es decir, 1-4
  • Range (1,5,2) Una secuencia de enteros con un tamaño de paso de 2 a 1, es decir: [1,3]
Por ejemplo, encuentra la suma de números pares dentro de 10:
sum = 0

for i in range(0, 10, 2):
    sum += i
print(sum)

while bucle

Si bien es otra forma de bucle, su sintaxis es la siguiente:

while condition:
    do something
Código de muestra:
a = 3
while a > 0:
    print(a)
    a -= 1
El código anterior realiza un bucle 3 veces, cada vez que la variable de condición a se reduce en 1. Cuando el while encuentra que a no es mayor que 0, el bucle termina.
¿Qué pasa si no cambiamos a en el bucle? Así es, ¡habrá un bucle infinito! El uso de la CPU está completo al 100% y la pantalla completa actualiza constantemente la impresión 3. Los bucles infinitos son tabúes en la programación, así que ten cuidado.

break y continue

Break es el final del bucle (o llamado "rebote"); continuar es la próxima vez que se omita el código detrás de este bucle para ejecutar el bucle. Para entender a este hermano, sigue mirando el código:
for i in range(10):
    if i < 3:
        continue
    if i > 7:
        break
    prirnt(i)
El significado de este código es,
Si i <3 continúa hasta la próxima iteración, el siguiente código continúa no se ejecutará, por lo que 0, 1, 2 no se imprimirán;
Si i> 7 rompe todo el bucle, es decir, salta fuera del bucle y, naturalmente, 8,9 detrás de 7 no se imprimirá;
Se imprimen 3, 4, 5, 6 y 7 que no satisfacen los dos casos anteriores.
Así que la salida de este código es:
3
4
5
6
7
El ejemplo anterior es para loops, pero break y continue también se aplican a while. Los más pequeños pueden practicar el descanso y continuar en el bucle while después del final de esta sección.

Loop "else"

Esta debe ser una característica única de Python, y los bucles pueden tener otra cosa.Cuando el bucle termina normalmente (sin interrupción), se ejecuta el fragmento de código else:
for i in range(3):
    print(i)
else:
    print('loop ends')

for i in range(3):
    if i > 1:
        break
    print(i)
else:
    print('loop ends')
Adivina la salida de este código, si no estás seguro, lo entenderás.

Resumen

Los bucles son otro control de proceso importante en el programa que se usa ampliamente en el procesamiento por lotes de datos y programas de servidor.

Ejercicio

  1. Escribe un fragmento de código que implemente break y continúa en mientras.

留言