bucle python3
En este capítulo se va a introducir el uso de Python sentencia de bucle.
Python en el bucle y no por tiempo.
Python estructura de control de bucle del estado es el siguiente:
while
Python, mientras que la declaración en forma general:
while 判断条件: 语句
También tenga en cuenta los dos puntos y la sangría. Por otra parte, ningún bucle do..while en Python.
En el siguiente ejemplo se utiliza desde hace tiempo para calcular la suma de 1-100:
#!/usr/bin/env python3 n = 100 sum = 0 counter = 1 while counter <= n: sum = sum + counter counter += 1 print("1 到 %d 之和为: %d" % (n,sum))
resultados de la ejecución son las siguientes:
1 到 100 之和为: 5050
bucle infinito
Nunca se puede realizar como un falso bucle infinito mediante el establecimiento de una expresión condicional, ejemplos son los siguientes:
#!/usr/bin/python3 var = 1 while var == 1 : # 表达式永远为 true num = int(input("输入一个数字 :")) print ("你输入的数字是: ", num) print ("Good bye!")
La aplicación de la secuencia de comandos anterior, los resultados de salida son los siguientes:
输入一个数字 :5 你输入的数字是: 5 输入一个数字 :
Puede utilizarCTRL + C para salir del bucle infinito actual.
bucle infinito en tiempo real a las solicitudes de cliente muy útiles en el servidor.
mientras que el reciclaje else
La ejecución del bloque else de una sentencia condicional es falsa desde hace tiempo ... otra cosa:
#!/usr/bin/python3 count = 0 while count < 5: print (count, " 小于 5") count = count + 1 else: print (count, " 大于或等于 5")
La aplicación de la secuencia de comandos anterior, los resultados de salida son los siguientes:
0 小于 5 1 小于 5 2 小于 5 3 小于 5 4 小于 5 5 大于或等于 5
grupo simple declaración
La sintaxis es similar a la instrucción if, el bucle while si usted es sólo una declaración, y al mismo tiempo se puede escribir la declaración en la misma línea, de la siguiente manera:
#!/usr/bin/python flag = 1 while (flag): print ('欢迎访问本教程!') print ("Good bye!")
Nota: El bucle infinito por encima de usted puede utilizar CTRL + C para interrumpir el ciclo.
La aplicación de la secuencia de comandos anterior, los resultados de salida son los siguientes:
para la declaración
Python para bucle puede iterar sobre cualquier secuencia de elementos, tales como una lista o una cadena.
El formato general para la circulación de la siguiente manera:
for <variable> in <sequence>: <statements> else: <statements>
Python ciclo de bucle Ejemplo:
>>> languages = ["C", "C++", "Perl", "Python"] >>> for x in languages: ... print (x) ... C C++ Perl Python >>>
En el siguiente ejemplo se utiliza la ruptura de declaración, declaración de la rotura de saltar fuera del bucle de corriente:
#!/usr/bin/python3 sites = ["Baidu", "Google","w3big","Taobao"] for site in sites: if site == "w3big": print("本教程!") break print("循环数据 " + site) else: print("没有循环数据!") print("完成循环!")
Después de ejecutar la secuencia de comandos, en un bucle para "w3big" se abrirá cuando el bucle:
循环数据 Baidu 循环数据 Google 本教程! 完成循环!
la función range ()
Si necesita iterar sobre una secuencia de números, puede utilizar la función gama incorporada (). Se generará el número de columnas, por ejemplo:
>>> for i in range(5): ... print(i) ... 0 1 2 3 4
También puede utilizar el rango rango de valor específico:
>>> for i in range(5,9) : print(i) 5 6 7 8 >>>
También es posible especificar el número de inicio de margen y especificar un incremento diferente (incluso negativo, a veces también llamado un "paso"):
>>> for i in range(0, 10, 3) : print(i) 0 3 6 9 >>>
negativo:
>>> for i in range(-10, -100, -30) : print(i) -10 -40 -70 >>>
Se pueden combinar range () y la función len () para atravesar un índice de secuencia, como sigue:
>>> a = ['Google', 'Baidu', 'w3big', 'Taobao', 'QQ'] >>> for i in range(len(a)): ... print(i, a[i]) ... 0 Google 1 Baidu 2 w3big 3 Taobao 4 QQ >>>
También puede utilizar la función range () para crear una lista:
>>> list(range(5)) [0, 1, 2, 3, 4] >>>
romper y continuar declaraciones y otra cláusula de bucle
salir de la instrucción for y el bucle while. Si se rompe fuera de un bucle for o while, no se ejecuta ningún otro bloque de bucle correspondiente. Ejemplos son los siguientes:
#!/usr/bin/python3 for letter in 'w3big': # 第一个实例 if letter == 'b': break print ('当前字母为 :', letter) var = 10 # 第二个实例 while var > 0: print ('当期变量值为 :', var) var = var -1 if var == 5: break print ("Good bye!")
La implementación de la salida del script anterior es:
当前字母为 : R 当前字母为 : u 当前字母为 : n 当前字母为 : o 当前字母为 : o 当期变量值为 : 10 当期变量值为 : 9 当期变量值为 : 8 当期变量值为 : 7 当期变量值为 : 6 Good bye!
sentencia continue se utiliza contar Python para saltar el resto de la sentencia de bloque bucle de corriente, y luego proceder con el siguiente ciclo.
#!/usr/bin/python3 for letter in 'w3big': # 第一个实例 if letter == 'o': # 字母为 o 时跳过输出 continue print ('当前字母 :', letter) var = 10 # 第二个实例 while var > 0: var = var -1 if var == 5: # 变量为 5 时跳过输出 continue print ('当前变量值 :', var) print ("Good bye!")
La implementación de la salida del script anterior es:
当前字母 : R 当前字母 : u 当前字母 : n 当前字母 : b 当前变量值 : 9 当前变量值 : 8 当前变量值 : 7 当前变量值 : 6 当前变量值 : 4 当前变量值 : 3 当前变量值 : 2 当前变量值 : 1 当前变量值 : 0 Good bye!
Los bucles pueden tener cláusulas otra cosa, lista exhaustiva (por bucle) o la condición se convierte en falsa (con while) se ejecuta conducen a la terminación del bucle, pero el ciclo se termina cuando no se ejecuta el descanso.
Los siguientes ejemplos son para los números primos ciclo ejemplo de consulta:
#!/usr/bin/python3 for n in range(2, 10): for x in range(2, n): if n % x == 0: print(n, '等于', x, '*', n//x) break else: # 循环中没有找到元素 print(n, ' 是质数')
La implementación de la salida del script anterior es:
2 是质数 3 是质数 4 等于 2 * 2 5 是质数 6 等于 2 * 3 7 是质数 8 等于 2 * 4 9 等于 3 * 3
frase pase
Python pasar una declaración vacía, con el fin de mantener la integridad de la estructura del programa.
pasar sin hacer nada, que se utiliza generalmente como un marcador de posición declaración siguiente ejemplos
>>> while True: ... pass # 等待键盘中断 (Ctrl+C)
categorías más pequeñas:
>>> class MyEmptyClass: ... pass
Los siguientes ejemplos se ejecutan bloque de pase de los estados en que las letras O;
#!/usr/bin/python3 for letter in 'w3big': if letter == 'o': pass print ('执行 pass 块') print ('当前字母 :', letter) print ("Good bye!")
La implementación de la salida del script anterior es:
当前字母 : R 当前字母 : u 当前字母 : n 执行 pass 块 当前字母 : o 执行 pass 块 当前字母 : o 当前字母 : b Good bye!