Conceptos básicos de la programación de Python: control de flujo del programa (2)

1. Estructura del ciclo

El trabajo complejo más básico es el bucle. Si desea escribir un programa que pueda realizar tareas más complejas, debe implementar el problema del bucle.

1. para declaración

La sentencia for usa un controlador de bucle (llamado iterador en Python) para describir la ejecución repetida de su bloque de sentencia. Su sintaxis básica es:

for 变量 in 迭代器:
    语句块

La línea que comienza con la palabra clave for se denomina cabecera del bucle y el bloque de instrucciones se denomina cuerpo del bucle. Los bloques de declaraciones deben sangrarse, y la cantidad de sangría de cada declaración en el bloque debe ser la misma.
La declaración contiene tres partes, la más importante de las cuales es el iterador, y el bloque de declaración a continuación es la parte que debe ejecutarse repetidamente. Por lo general, un iterador describe una secuencia de valores, y la variable obtiene cada valor de la secuencia de valores en el iterador a su vez, y luego ejecuta un bloque de instrucciones para cada valor.Dado que los valores obtenidos cada vez no son necesariamente los mismo, el efecto de ejecutar el bloque de instrucciones no es necesariamente el mismo.

Caso 1: Cadena como iterador
El tipo de cadena en sí mismo es un tipo iterativo y se puede usar directamente como iterador en una instrucción for.

for x in "abcdefg":
    print(x)

En la declaración de bucle for anterior, x se usa como una variable, y cada carácter en "abcdefg" se puede obtener en orden, y la declaración "print (x)" se ejecuta repetidamente, y cada carácter se muestra, es decir, el el resultado de salida final es "abcdefg".

Caso 2: la función range() genera una secuencia iterativa.
range es una función integrada en Python. Llamar a esta función puede generar una secuencia iterativa, por lo que es adecuada para colocarla al principio de una instrucción for. La función range tiene los siguientes métodos de llamada diferentes:
(1) range(n), la secuencia de iteración obtenida es 0, 1, 2, ..., n-1, y la secuencia está vacía cuando n<=0.
(2) range(m,n), la secuencia de iteraciones obtenida es m, m+1, m+2,...,n-1, y la secuencia está vacía cuando m>=n.
(3) range(m,n,d), la secuencia iterativa obtenida es m, m+d, m+2d, ..., aumentando desde m según el tamaño de paso d, hasta el más cercano pero sin incluir la diferencia igual valor de n , decrece cuando d es menor que 0.
inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

2. declaración while

En la declaración for, se proporciona el iterador, es decir, a la variable repetida se le asigna un rango, pero cuando el alcance no está claro y hay una condición de ciclo clara, se puede usar la declaración while.
En la instrucción while, se usa una expresión que representa una condición lógica para controlar el ciclo. Cuando la condición es verdadera, el cuerpo del ciclo se ejecuta repetidamente hasta que la condición no es verdadera. El ciclo termina.

while 条件表达式:
    语句块

Es decir, cada ciclo primero juzga si la expresión condicional es verdadera, si la expresión condicional es verdadera, ejecuta el siguiente bloque de instrucciones, de lo contrario, el ciclo finaliza.
inserte la descripción de la imagen aquí

3. Declaraciones de interrupción y continuación

Tanto la instrucción for como la instrucción while controlan la ejecución del ciclo a través de la cabeza. Una vez que ingrese al cuerpo del ciclo, las instrucciones en él se ejecutarán por completo y luego se repetirán. En la práctica, también encontraremos algunas situaciones en las que solo se ejecutan algunas de las declaraciones en el cuerpo del ciclo y luego el ciclo finaliza o el siguiente ciclo se ejecuta inmediatamente, entonces necesitamos usar las declaraciones de control de ciclo break y continue.
La función de la instrucción break es finalizar inmediatamente todo el ciclo for, la función de la instrucción continue es finalizar esta ronda del ciclo, el programa salta al inicio del ciclo y continúa de acuerdo con los requisitos del inicio.
inserte la descripción de la imagen aquí
Cuando se usa break, cuando i es un múltiplo de 10, el ciclo se detiene, es decir, el número de salida es de 1 a 9; cuando se usa continue, cuando i es un múltiplo de 10. Luego regrese al inicio del ciclo, no ejecute la siguiente instrucción de impresión, es decir, no genere los múltiplos de 10 y 10.

4. La sentencia else en la estructura del bucle

La instrucción else no es necesaria en la estructura del ciclo. Cuando no se establece la condición del ciclo o finaliza el recorrido de la secuencia, la instrucción else se ejecutará si hay una instrucción else en el código. La mayoría de las instrucciones else no se ejecutarán cuando el bucle finaliza prematuramente debido a la sentencia break. La sentencia else forma parte de la estructura del bucle for y es el procesamiento que se realiza cuando el bucle for sale de forma natural debido al final del recorrido de la secuencia.

for 变量 in 迭代器:
    语句块1
else:
    语句块2

inserte la descripción de la imagen aquí

5. Anidamiento de bucles

Un cuerpo de bucle contiene una estructura de bucle completa, que se convierte en el anidamiento de bucles. Esta estructura se denomina estructura de bucle múltiple. El bucle interno también puede contener nuevos bucles para formar una nueva estructura de bucle múltiple.

for 变量1 in 迭代器1:
    for 变量2 in 迭代器1:
        语句块

Ejemplo: Encuentra los números primos dentro de 200. Si un número entero positivo no se puede dividir por ningún número entero positivo menor que él, entonces es un número primo.
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_42051846/article/details/131515275
Recomendado
Clasificación