[Conocimientos básicos de Python] Cinco, bucles for y while

Prefacio

En el nivel anterior, aprendimos sobre dos nuevos tipos de datos: listas y diccionarios.

En este nivel, el tema que queremos aprender es [Loop]. Looping significa: repetir una cosa muchas veces.

Insertar descripción de la imagen aquí
La vida y el trabajo de todas las personas están llenos de ciclos, muchas veces los ciclos significan repetición y aburrimiento. Por ejemplo, tienes que ingresar manualmente la información personal de 200 empleados, o ella tiene que explicar lo mismo una y otra vez a personas que no hablan en serio, o su vida no ha cambiado y es como un charco de agua estancada.

Al final, uno mismo necesita romper el ciclo de una vida estática, pero cuando se trata de trabajo, podemos dejar que la computadora nos ayude. A diferencia de los humanos, las computadoras no temen las dificultades ni la fatiga y pueden repetir cosas aburridas miles de veces siempre que puedan encontrar la respuesta que desean.

Aquí es precisamente donde la programación libera a los humanos. Por ejemplo, si necesita descargar muchas, muchas imágenes, originalmente tenía que hacerlo manualmente, pero la computadora puede ayudarlo a descargar las imágenes una por una de acuerdo con ciertas reglas a través de [Bucle], y usted puede simplemente descansar. Las computadoras son mejores que usted para realizar tareas repetitivas.

Para otro ejemplo, como operador, es posible que necesite disolver muchos grupos de usuarios. Originalmente, tenía que hacer clic manualmente uno por uno, pero la computadora puede ayudar a las personas a disolverse uno por uno de acuerdo con ciertas reglas a través de [bucle]. Las computadoras pueden realizar tareas repetitivas con menos esfuerzo que usted.

Ahora bien, si miramos de nuevo la palabra "circulación", ¿es diferente desde el principio?

¿Por qué las computadoras son tan buenas para realizar tareas repetitivas? Tenga en cuenta que significa "súper bueno y súper rápido", no solo "puede hacer el trabajo y no se queja".

En realidad, el principio se debe a que las [declaraciones de bucle] en el código permiten que la computadora ejecute instrucciones de forma repetida y automática.

Insertar descripción de la imagen aquí
Para lograr la "ejecución de código repetida y automática", hay dos declaraciones de bucle entre las que podemos elegir: una es la declaración de bucle for...in... y la otra es la declaración de bucle while.

El "bucle" es muy importante en las computadoras y es el conocimiento de programación más básico, para explicarlo más claramente hemos dividido el capítulo del bucle en dos niveles. En este nivel, tendremos una comprensión preliminar de las dos declaraciones de bucle y aprenderemos sus aplicaciones simples.

Sin más preámbulos, echemos un vistazo al primer método de bucle: el bucle for…in…, que también se conoce como bucle for.

para… en… declaración de bucle

¿Aún recuerdas el ejemplo del pase de lista del profesor de la clase en el nivel anterior? Lo que se suponía que era una tarea que debía repetirse 50 veces terminó siendo 3 líneas de código.

student = ['党志文', '浦欣然', '罗鸿朗', '姜信然', '居俊德', '宿鸿福', '张成和', '林景辉', '戴英华', '马鸿宝', '郑翰音', '厉和煦', '钟英纵', '卢信然', '任正真', '翟彭勃', '蒋华清', '双英朗', '金文柏', '饶永思', '堵宏盛', '濮嘉澍', '戈睿慈', '邰子默', '于斯年', '扈元驹', '厍良工', '甘锐泽', '姚兴怀', '殳英杰', '吴鸿福', '王永年', '宫锐泽', '黎兴发', '朱乐贤', '关乐童', '养永寿', '养承嗣', '贾康成', '韩修齐', '彭凯凯', '白天干', '瞿学义', '那同济', '衡星文', '公兴怀', '宫嘉熙', '牧乐邦', '温彭祖', '桂永怡']
for i in student:
    print(i+'在不在?')

Las líneas 2-3 aquí son el bucle for.

Primero veamos el código de bucle for más simple para comprender su formato:

Insertar descripción de la imagen aquí
Vamos, primero ejecute el código de muestra en la imagen.

for i in [1,2,3,4,5]:
   print(i)

resultado de la operación:

1
2
3
4
5

Todos los números de la lista aparecen en el terminal en secuencia, ¿verdad? Usemos una analogía en lengua vernácula para comprender mejor el significado de este código:

Insertar descripción de la imagen aquí

for i in [1,2,3,4,5]:
   print(i)

#有一群数字在排队办业务,也就是列表[1,2,3,4,5]
#它们中的每一个被叫到号的时候(for i in),就轮流进去一个空房间办业务
#每一个数字进去房间之后,都对计算机说:“喂,我要办这个业务:帮忙把我自己打印出来”,也就是print(i)
#然后计算机忠实的为每一个数字提供了打印服务,将1,2,3,4,5都打印在了屏幕上

Los tres puntos principales del bucle for son: 1. Sala vacía, 2. Un grupo de personas esperando para hacer negocios, 3. Proceso de negocio.

Veámoslos uno por uno:

bucle for: habitación vacía

for i in [1,2,3,4,5]:  #i是“空房间”
   print(i)

El nombre científico de la habitación vacía es [elemento], puedes considerarlo como una variable. Entonces, primero debemos darle un nombre a la habitación, que es el "nombre de la variable".

¿Por qué siempre uso i? Debido a que la palabra inglesa es item, i es un nombre común. Pero en realidad puedes nombrar esta habitación como quieras.

Vamos, simplemente ejecuta el código y pruébalo.

for i in [1,2]:
    print(i)

for number in [1,2]:
    print(number)

for LOVE in [1,2]:
    print(LOVE)

resultado de la operación:

1
2
1
2
1
2

¿Son los tres resultados iguales? Así es, no es necesario limitarse por nombres.

Una vez finalizado el bucle for, todavía podemos usar esta sala, pero ¿quién está en la sala en este momento? Ejecute el código para experimentarlo:

for i in [1,2,3,4,5]:
    print(i)

print('事情全部办完了!现在留在空房间里的人是谁?')
print(i)

resultado de la operación:

1
2
3
4
5
事情全部办完了!现在留在空房间里的人是谁?
5

Resultó que una vez terminado el negocio, los últimos 5 que entraron se quedaron en la habitación y fueron impresos.

Después de descubrir qué es una "habitación vacía", veamos el siguiente punto:

bucle for: un grupo de personas haciendo cola para hacer negocios

Insertar descripción de la imagen aquí
El "grupo de personas haciendo cola para hacer negocios" que acabamos de ver aparece en forma de lista: [1,2,3,4,5]. ¿Qué otros tipos de datos también pertenecen a "un grupo de personas que hacen cola para hacer negocios"?

Creo que lo has adivinado, es un diccionario. Experimentemos directamente el efecto de la ejecución del código:

dict = {
    
    '日本':'东京','英国':'伦敦','法国':'巴黎'}

for i in dict:
    print(i)

resultado de la operación:

日本
英国
法国

Usamos print(i) para imprimir la "habitación vacía" i y descubrimos que recibiría cada [clave] en el diccionario una por una.

Entonces, ¿qué no pertenece a “un grupo de personas que hacen cola para hacer negocios”? Por favor, adivina:

¿Cuál de las siguientes opciones no se puede colocar en for i en un bucle:?

Aa =[1,3,50,9]
Ba=5
Ca ={'Maestro': 'Tang Monk', 'Hermano mayor': 'Sun Wukong', 'Segundo hermano mayor': 'Zhu Bajie', 'Tercer junior Hermano':'Sha Monk'}
Da='Wu Cheng'en'

La respuesta es:
el diccionario B, la lista y la cadena 'Wu Chengen' son un grupo de personas que hacen cola para hacer negocios, pero a = 5 no lo es.

Jaja, ¿dudaste un poco cuando respondiste la pregunta? Después de ver la respuesta, estabas un poco confundido: ¿Por qué 'Wu Cheng'en' también es aceptable?

No dudes que las cadenas también pertenecen a "un grupo de personas que hacen cola para hacer negocios". Por ejemplo, las palabras "Wu Chengen" son como una familia de tres, pero cuando entran a una habitación vacía para hacer negocios, la familia puede entrar uno por uno. Ven y pruébalo.

for i in '吴承恩':
    print(i)

resultado de la operación:

吴
承
恩

Los números enteros y de coma flotante no pertenecen a "un grupo de personas que hacen cola para hacer negocios". Si se colocan en un bucle for, el código informará un error.

Pruebe el código de error. Después de encontrar el error, puede modificar el código al correcto (simplemente cambie a y b a tipos de cadena) u omitirlo directamente.

a = 100
b = 0.01

for i in a:
    print(i)

for i in b:
    print(i)

Ahora lo entendemos: listas, diccionarios y cadenas pueden ser "un grupo de personas haciendo cola para hacer negocios".

for i in [1,2,3,4,5]:  
   print(i)

Sigue siendo este código. Ya deberías conocer el resultado de ejecutar el código. 1, 2, 3, 4 y 5 aparecen en secuencia. En otras palabras, cuando este grupo de personas en la fila ingrese a la habitación vacía una por una, todos completarán sus asuntos.

El nombre científico de este proceso en Python es [recorrido].

De hecho, la palabra recorrido ya apareció en el chino antiguo:

Insertar descripción de la imagen aquí
Es solo que los antiguos atravesaban montañas y ríos famosos, buscando conocimiento uno por uno, mientras que Python atraviesa estructuras de datos (listas, diccionarios, etc.) y accede a los datos uno por uno.

Además de los tres tipos de datos de listas, diccionarios y cadenas, también podemos atravesar otras colecciones de datos. Por ejemplo, la función range() se utiliza a menudo junto con el bucle for.

función rango()

# 请直接运行代码
for i in range(3):
    print(i)

resultado de la operación:

0
1
2

Después de ejecutar, ves los números enteros 0, 1, 2, ¿verdad? Usando la función range(x), puede generar una secuencia de números enteros de 0 a x-1.

Hay muchos más usos para esto, echemos un vistazo a este código y ejecutemos:

for i in range(13,17):
    print(i)

resultado de la operación:

13
14
15
16

Usando la función range(a,b), puede generar una secuencia de números enteros que tome la cabeza pero no la cola.

Quizás quieras preguntarte, ¿por qué debería sacar estos números enteros de la nada? Bueno, esa es una buena pregunta. Veamos otro fragmento de código y ejecútelo:

for i in range(1,10):
    for j in range(1,10):
        print(str(i)+'*'+str(j)+'='+str(i*j))
print('我很棒')

resultado de la operación:

1*1=1
1*2=2
1*3=3
1*4=4
1*5=5
1*6=6
1*7=7
1*8=8
1*9=9
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
3*1=3
3*2=6
3*3=9
3*4=12
3*5=15
3*6=18
3*7=21
3*8=24
3*9=27
4*1=4
4*2=8
4*3=12
4*4=16
4*5=20
4*6=24
4*7=28
4*8=32
4*9=36
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45
6*1=6
6*2=12
6*3=18
6*4=24
6*5=30
6*6=36
6*7=42
6*8=48
6*9=54
7*1=7
7*2=14
7*3=21
7*4=28
7*5=35
7*6=42
7*7=49
7*8=56
7*9=63
8*1=8
8*2=16
8*3=24
8*4=32
8*5=40
8*6=48
8*7=56
8*8=64
8*9=72
9*1=9
9*2=18
9*3=27
9*4=36
9*5=45
9*6=54
9*7=63
9*8=72
9*9=81
我很棒

Di cosas importantes tres veces, jaja. De esta manera, con la función range(), cuando quieras repetir un fragmento de código n veces, puedes usar directamente for i en range(n) para resolver el problema.

Practiquemos: si quieres imprimir repetidamente “Lo extrañé el enésimo día después de que Shuhuan se fue”, y n varía de 0 a 10, ¿cómo lo escribirías?

Respuesta de referencia:

for i in range(11):
    print('书恒走的第'+str(i)+'天,想他')

resultado de la operación:

书桓走的第0天,想他
书桓走的第1天,想他
书桓走的第2天,想他
书桓走的第3天,想他
书桓走的第4天,想他
书桓走的第5天,想他
书桓走的第6天,想他
书桓走的第7天,想他
书桓走的第8天,想他
书桓走的第9天,想他
书桓走的第10天,想他

¿Lo hiciste bien?

Hay otro uso de la función range(). Ejecutémosla directamente para experimentarla:

for i in range(0,10,3):
    print(i)

resultado de la operación:

0
3
6
9

¿Has observado algún patrón? Aquí rango(0,10,3) significa: contando de 0 a 9 (tomando la cabeza pero no la cola), el tamaño del paso es 3.
Insertar descripción de la imagen aquí
Bien, hagámoslo en la práctica: utilice un bucle for para completar el cálculo de multiplicar números enteros del 1 al 100 por 5 e imprímalo. El efecto será así:

5
10
15
20
……(中间过程省略)
490
495
500

¿Cómo escribirías el código del bucle for?

Antes de comenzar a escribir código, necesitamos crear una lista de números enteros del 1 al 100. ¿Cuál es la forma correcta de escribirlo?

rango(1,101)

¡Así es! range(1,101) representa una lista de números enteros del 1 al 100, excluyendo 101.
Por favor comience a escribir código:

Respuesta de referencia:

for i in range(1,101):
    print(i*5)

Finalmente comprendamos el tercer punto clave del bucle for:

bucle for: proceso de servicio

Insertar descripción de la imagen aquí
Tomemos el siguiente código como ejemplo:

for i in [1,2,3,4,5]:print(i*5)

En estas dos líneas de código, in significa tomar valores secuencialmente de "un grupo de personas haciendo cola para hacer negocios" (cadenas, listas, diccionarios, etc.), lo cual acabamos de aprender.

Durante el ciclo, "un grupo de personas que hacen cola para hacer negocios" serán sacados uno por uno y luego entrarán a la sala i para encargarse de los negocios.

Pero ¿qué pasa con el proceso de trabajo? El proceso aquí es muy simple, todos se imprimen (i*5). Luego en el caso de i=1 ejecutar el proceso una vez, en el caso de i=2 ejecutar el proceso nuevamente... y continuar ejecutándolo hasta i=5, completando así todas las tareas para este grupo de personas:

Insertar descripción de la imagen aquí
El nombre científico de "proceso de servicio" es [para cláusula]. El formato es comenzar una nueva línea después de [dos puntos] y escribir el comando con [sangría].

El formato es una "pequeña cosa" que no se puede dejar de enfatizar en la programación, por lo que aquí enfatizamos el formato del bucle for:

Insertar descripción de la imagen aquí
En este punto, ya domina la sintaxis básica del bucle for. Hagamos algunos ejercicios más.

Supongamos que desea hacer una compra grande, deje que Xiao Ming compre vinagre, Xiao Hong compre aceite, Xiao Bai compre sal y Xiao Zhang compre arroz; primero escribamos estas cosas en un diccionario: d = {'Xiao Ming':'vinagre ','Xiao Hong':'aceite','Xiaobai':'sal','Xiao Zhang':'arroz'}

Si imprimimos los artículos que estas cuatro personas quieren comprar en secuencia, necesitamos escribir 4 declaraciones impresas:

d={
    
    '小明':'醋','小红':'油','小白':'盐','小张':'米'}
print(d['小明'])
print(d['小红'])
print(d['小白'])
print(d['小张'])

Utilice el bucle for para reemplazar el código repetitivo anterior y lograr el mismo efecto.

Respuesta de referencia:

#请直接运行代码
d = {
    
    '小明':'醋','小红':'油','小白':'盐','小张':'米'}

for i in d:
    print(d[i])

¿Lo hiciste bien? Si no está seguro, puede regresar y completar los conocimientos relevantes del "Diccionario".

Hasta ahora se han explicado los tres puntos principales del bucle for:

Insertar descripción de la imagen aquí
Bien, hemos terminado de aprender el bucle for, veamos otra forma de bucle.

mientras bucle

Primero echemos un vistazo a cómo se ve un bucle while:

Insertar descripción de la imagen aquí
¿Adivina cuál será el resultado de ejecutar el código de la imagen?

#请直接运行代码
a = 0
while a < 5:
    a = a + 1
    print(a)

resultado de la operación:

1
2
3
4
5

O 1,2,3,4,5 aparecen en secuencia, ¿verdad? Expliquemos también este código en lengua vernácula.

A diferencia de la declaración de bucle for, la declaración while no tiene un "espacio vacío" ni "termina un grupo de personas que hacen cola para hacer negocios". Es "bajo ciertas condiciones" y "actuando de acuerdo con el proceso".

Insertar descripción de la imagen aquí

a = 0                #先定义变量a,并赋值
while a < 5:         #设定一个放行条件:a要小于5,才能办事
    a = a + 1  # 满足条件时,就办事:将a+1
    print(a)   # 继续办事:将a+1的结果打印出来 

Obviamente, el ciclo while tiene dos puntos principales: 1. Condiciones de liberación, 2. Proceso de servicio. Veamos primero el primero.

bucle while: condición de liberación

Mientras significa "cuando" en inglés, mientras va seguido de una condición. Cuando se cumple la condición, el código dentro de la cláusula while se ejecutará en un bucle.

Entonces, el ciclo while es esencialmente como un punto de control: siempre que las cosas cumplan con las condiciones, "haga las cosas de acuerdo con el proceso" una y otra vez.

Al igual que en el ejemplo anterior, siempre que la condición a<5 sea verdadera, el proceso continuará (imprimirá el resultado de a+1) hasta que la condición no sea verdadera y el proceso de servicio se detendrá.

a = 0
while a < 5:
    a = a + 1
    print(a)

De manera similar, la declaración while también debe prestar atención a las especificaciones del código:

Insertar descripción de la imagen aquí
Al igual que el bucle for, los dos puntos y la sangría del código interno son esenciales. ╭(╯^╰)╮Si escribes de forma irregular, la computadora te informará un error y luego quedarás atrapado en un lugar inexplicable durante mucho tiempo...

A continuación, utilizamos un caso divertido para ilustrar el uso específico de while. Me pregunto si los estudiantes habrán leído la novela de artes marciales de Jin Yong "La leyenda de los héroes del cóndor".

La protagonista de la novela, Xiao Longnu (la líder de la Secta de la Tumba Antigua), ha vivido en una tumba antigua en la montaña Zhongnan desde que era una niña. Esta secta tiene la regla de que, a menos que un hombre esté dispuesto a morir por el líder, el líder nunca podrá abandonar la tumba.

En Python, la lógica de esta historia se traduce como: cuando (mientras) ningún hombre esté dispuesto a morir por Xiao Longnu, Xiao Longnu siempre vivirá en la tumba antigua. Este es un ciclo. Solo cuando la condición (ningún hombre está dispuesto a morir por Xiao Longnu) es falsa, el ciclo puede romperse y Xiao Longnu puede abandonar la antigua tumba y bajar de la montaña.

Primero escribiré este código, puedes echarle un vistazo ~

man = ''  # 注:''代表空字符串
while man != '有':  #注:!=代表不等于
​    man = input('有没有愿意为小龙女死的男人?没有的话就不能出古墓。')
print('小龙女可以出古墓门下山啦~')

Línea 1 de código: define la variable man como una cadena vacía. Antes de usar una variable, primero debe definir la variable y asignarle un valor. Continuaremos usando la variable man a continuación.

Línea 2 de código: Hay una condición después de while. Cuando se cumple esta condición, es decir, cuando man! = 'yes', el proceso se libera y el trabajo está terminado. Comience a ejecutar el código dentro del bucle, es decir, el código en la línea 3, y comience a preguntar.

Línea 3 de código: Pregunte si algún hombre está dispuesto a morir por Xiao Longnu. Después de ingresar la información, regrese a la segunda línea de código y vuelva a juzgar si la condición es verdadera o falsa. El ciclo while no termina hasta que se considera que la condición es falsa, es decir, man == 'tiene'.

Línea 4 de código: el código después de que finaliza el ciclo while, que también es el código fuera del ciclo. Porque cuando un hombre está dispuesto a morir por Xiao Longnu, la condición después de while será falsa, en este momento el programa finalizará el ciclo y ejecutará la cuarta línea de código.

Ejecutémoslo. También debes ingresar el contenido. Puede ingresar cualquier dato primero. Mientras ingrese algo que no sea Sí, el código seguirá repitiéndose; hasta que ingrese Sí, el bucle finalizará.

man = ''  # 注:这个''代表空字符串
while man != '有':
    man = input('有没有愿意为小龙女死的男人?没有的话就不能出古墓。')
print('小龙女可以出古墓门下山啦~')

resultado de la operación:

有没有愿意为小龙女死的男人?没有的话就不能出古墓。1
有没有愿意为小龙女死的男人?没有的话就不能出古墓。hah
有没有愿意为小龙女死的男人?没有的话就不能出古墓。没有
有没有愿意为小龙女死的男人?没有的话就不能出古墓。有
小龙女可以出古墓门下山啦~

Afortunadamente, el héroe de la novela, Yang Guo, llegó por casualidad a la Tumba de los Muertos Vivientes y se enamoró de Xiao Longnu. Yang Guo tenía un profundo afecto por Xiao Longnu y estaba dispuesto a morir por ella, por lo que después de cumplir con las reglas de la secta, Xiao Longnu pudo abandonar la antigua tumba y bajar de la montaña.

Bien, después de que hayas experimentado la lógica del ciclo while, ahora quiero pedirte que lo practiques tú mismo. No te preocupes, no es tan difícil, si tienes alguna pregunta, mira el ejemplo de Xiao Longnu.

La historia de este repentino cambio de estilo es la siguiente: la puerta de tu casa es una puerta con contraseña, y la contraseña es tu cumpleaños 816. Cuando se ingresa una contraseña incorrecta, aparecerá el mensaje "Intente ingresar la contraseña:". Hasta que la contraseña se ingrese correctamente, aparecerá el mensaje "¡Bienvenido a casa!".

El efecto de ejecución del terminal debería ser similar a este:

请尝试输入密码:
123
请尝试输入密码:
456
请尝试输入密码:
789
请尝试输入密码:
……(中间过程省略)
816
欢迎回家!

Por favor complete este código:

¿Qué tal? ¿Lo has escrito?
La respuesta de referencia es esta:

password = ''  # 变量password用来保存输入的密码

while password != '816':
    password = input('请尝试输入密码:')

print('欢迎回家!')

Entonces qué, tal vez tengas una pequeña duda (probablemente no te hayas dado cuenta), ¿de quién es el cumpleaños 816? Déjame decirte en secreto que es el cumpleaños de Li Ruotong, la heroína de la versión de 1995 de "La leyenda de los héroes del cóndor", la eterna Niña Dragón.

Insertar descripción de la imagen aquí
Bien, pongámonos manos a la obra. Veamos el segundo punto clave del ciclo while: el proceso de servicio.

bucle while: proceso de trabajo

Mientras que el bucle, cuando se cumplen las condiciones, el código se ejecutará en un bucle tras otro.

Tomemos una pregunta de opción múltiple. Mire el código para responder la pregunta:

a = 0

while a < 5:
​    a = a + 1
print(a)

¿Cuál es el resultado de ejecutar la terminal?

¡Bingo! Respuesta correcta, a comienza desde 0 y aumenta en 1 cada vez que pasa por el ciclo. Cuando se suma a 5, la condición del ciclo no se cumplirá y el punto de control no pasará, por lo que el ciclo terminará. Finalmente imprima a, que es 5.

Esta pregunta es muy similar a la pregunta de ejemplo al principio, la única diferencia es si print(a) tiene sangría.

# 之前的例题
a = 0

while a < 5:
​    a = a + 1
    print(a)

# 本题
a = 0

while a < 5:
​    a = a + 1
print(a)

Cuando hay sangría, print(a) también es el "proceso de servicio" en el bucle e imprimirá los números uno por uno. Cuando no hay sangría, el "flujo de servicio" en el bucle solo puede ser una suma, y ​​print (a) solo imprimirá el último número al final del bucle.

Un poco problemático, ¿verdad? Analicémoslo y veamos qué significa cada línea de código:

a = 0  # 定义了一个变量a

while a < 5:  # 当a小于5的时候,就自动执行后续缩进部分的语句
    print('现在a的值是:' + str(a)) #加一个print看看现在的a是多少
    a = a + 1  # 每执行一次循环,变量a的值都加1
    print('加1后a的值是:' + str(a)) #加一个print看看加1后的a是多少
print(a)

Se puede ver que en la última ronda del ciclo, a = 4, y luego el valor de a finalmente es igual a 5 después de sumar 1:

Insertar descripción de la imagen aquí
Por lo tanto, la [cláusula while] sangrada es el "proceso de servicio" que se ejecutará en un bucle. Casi deberías entender esto ~

Entonces, volvamos a hacer un poco de ejercicio.

Anteriormente, usamos un bucle for para resolver el problema de "multiplicar 1 a 100 por 5":

for i in range(1,101):
    print(i*5)

Si usamos un bucle while ahora, ¿cómo deberíamos escribirlo? Ven y pruébalo.

Respuesta de referencia:

i = 1
while i<101 :
    print (i*5)
    i = i+1

En este punto, ha aprendido todo el conocimiento sobre los bucles for y while ~

Tanto el bucle for como el bucle while pueden ayudarnos a completar tareas repetitivas. Entonces, ¿cuál es la diferencia entre los dos bucles? ¿Cuándo usar for y cuándo usar while? Comparemos.

Comparación de dos ciclos.

La mayor diferencia entre un bucle for y un bucle while es [si se determina la carga de trabajo del bucle]. El bucle for es como una habitación vacía que maneja los negocios en secuencia y no sale del trabajo hasta que [se completa todo el trabajo] . Pero el ciclo while es como liberar un punto de control, [seguir trabajando cuando se cumplan las condiciones] y cerrar el punto de control hasta que no se cumplan las condiciones.

Entonces, cuando [se determina la carga de trabajo], podemos dejar que el bucle for complete el trabajo repetitivo. Por el contrario, [cuando la carga de trabajo es incierta] puedes dejar que el ciclo while funcione:

# 适合用for...in...循环
for i in '神雕侠侣':print(i)

# 适合用while循环
password = ''
while password != '816':
​     password = input('请尝试输入密码:')

Para dividir la cadena 'The Legend of Condor Heroes' en caracteres e imprimirlos uno por uno, este asunto [se determina la carga de trabajo], es adecuado usar un bucle for.

En cuanto a la cuestión de "ingresar la contraseña y juzgar si la contraseña ingresada es correcta", no sabemos cuántas veces tenemos que juzgar para obtener la contraseña correcta, por lo que [la carga de trabajo es incierta] y es adecuado para usar. un bucle while.

Sin embargo, existe una situación en la que tanto el bucle for como el bucle while pueden resolver el problema, y ​​es [hacer una cosa N veces]:

# 直接运行代码即可

#用for循环把诗句打印3遍
for i in range(3) :
    print('明日复明日,明日何其多。')

#用while循环把诗句打印3遍
j = 0
while j<3 :
    
    print ('明日何其多,明日何其多。')
    j =j+1

Verás, puedes hacer ambas cosas. Sin embargo, el código del bucle for es relativamente más simple.

Resumamos cuándo usar for y cuándo usar while:

Insertar descripción de la imagen aquí
Bien, hasta ahora hemos terminado de cubrir los conocimientos más básicos. Llegando al final de este nivel, quiero hablar de "circulación".

Como mencionamos al principio, los ordenadores pueden ayudarnos a realizar muchas tareas complicadas y repetitivas. Cuando las computadoras liberan nuestras manos, se libera algo de tiempo en nuestros días normales.

¿Qué harás con todo este tiempo?

Hubo un momento en el que elegí dejar volar mis pensamientos y ver dónde estaba mi ventaja.

Más tarde, aproveché el tiempo extra para volver a la vida, aprender a pasar tiempo con mi familia y aprender a expresar mi cariño.

Y en este momento, aquí, cada tú en este momento es la elección que hago para estos tiempos.

Todavía queda un largo camino por recorrer, nos vemos en el siguiente nivel.

Supongo que te gusta

Origin blog.csdn.net/qq_41308872/article/details/132692557
Recomendado
Clasificación