A partir de ahora, hemos visto el programa, siempre hay una alineación precisa de una serie de declaraciones de arriba a abajo, y entregado a Python fielmente ejecutado. Si desea cambiar el flujo de trabajo, ¿cómo debemos hacer? Como esta situación: Usted necesita un programa para tomar decisiones, y de acuerdo a las diferentes circunstancias para lograr cosas diferentes, como diferentes de impresión según la hora del día de un 'buenos días' 'Buenos días' o 'Buenas noches' 'Buenas noches'?
Como puede haber adivinado observaciones, esto se logra mediante el control de los estados de flujos. ---- Hay tres estados de flujo de control en Python if
, for
y while
.
1. if
Declaración
if
Declaración para comprobar el estado: si la condición es verdadera (True), vamos a ejecutar un bloque de instrucciones (llamado el bloque si- o si el bloque ), de lo contrario vamos a ejecutar otro bloque de instrucciones (llamado el bloque else o bloque else ). Cuando los demás cláusula es opcional.
Caso (guardar como if.py
):
number = 23
guess = int(input('Enter an integer : '))
if guess == number:
# 新块从这里开始
print('Congratulations, you guessed it.')
print('(but you do not win any prizes!)')
# 新块在这里结束
elif guess < number:
# 另一代码块
print('No, it is a little higher than that')
# 你可以在此做任何你希望在该代码块内进行的事情
else:
print('No, it is a little lower than that')
# 你必须通过猜测一个大于(>)设置数的数字来到达这里。
print('Done')
# 这最后一句语句将在
# if 语句执行完毕后执行。
salida:
Enter an integer : 50
No, it is a little lower than that
Done
En este programa, se comprobó según la conjetura de abonado digital si esta cifra es que nos hemos fijado. Nos variable de number
set para cualquier número entero que queremos, por ejemplo 23
. A continuación, input()
obtener el número de usuarios de adivinar la función. La función de llamada es un programa reutilizable. Nosotros en el siguiente capítulo para discutir en detalle.
Estamos hechos input
para proporcionar una cadena de cuerda para imprimir en la pantalla y espera a que la función de la entrada del usuario. Una vez que entramos en algo en el teclado y la presiona enter
la tecla, input()
en la forma de la función devolverá una cadena entrado en lo que tenemos. A continuación, int
convertir esto en un entero y una cadena almacenada en una variable guess
en. De hecho, int
una clase (clase), pero ahora lo que necesita saber es que se puede utilizar para convertir una cadena de una cadena a un entero (suponiendo que la cadena de texto contiene un número entero válido).
A continuación, vamos a adivinar el número de usuario suministrado En comparación con los números que elegimos. Si son iguales, podemos imprimir un mensaje de éxito. Aquí notar que usamos para contar los niveles de sangría Python, que las declaraciones pertenecen a qué bloque. Esta es la razón por la sangría es tan importante en Python. Espero que será capaz de cumplir con el principio de "sangría constante", puede hacerlo, ¿verdad?
También tenga en cuenta que la if
sentencia contiene una coma al final ---- tomamos especificado, entonces habrá un comunicado en el trasero a Python.
A continuación, comprobamos que adivinar el número es menor que el número que elegimos, si lo es, vamos a indicar al usuario que tienen que adivinar un número mayor. Aquí se utiliza la elif
declaración, serán en realidad dos conectada if else-if else
estado consolidado en un if-elif-else
comunicado. Esto puede hacer que el programa sea más fácil, y la cantidad de sangría requerida puede ser reducida.
elif
Y la else
misma debe tener dos puntos, junto con sus correspondientes bloques de instrucciones (por supuesto, no se olvide de guión correcto) de la línea lógica al final del mismo, detrás.
Puede si un bloque if
se proporciona en otra declaración if
condena, y por lo tanto puede proceder ---- Esto se llama anidados if
declaraciones.
Para recordar elif
y else
partes son opcionales. Un mínimo y eficaz if
declaración es la siguiente:
if True:
print('Yes, it is true')
Cuando se ejecuta Python completa if
declaración y asociados elif
y else
cláusulas posteriores, se moverá para contener if
la declaración declaraciones un bloque de código. En la presente realización, es el bloque principal de código (donde el programa inicia la ejecución), bajo el cual la declaración es una print('Done')
declaración. Después de completar estas tareas, Python se encuentra la línea al final del programa y ha anunciado la finalización de la obra.
Aunque este es un programa muy simple, vengo sosteniendo cosas que debe prestar atención. Todo esto puede ser considerado como sencillo (para aquellos con antecedentes de C / C ++ es bastante sencillo). Pero en el principio de que todavía podrían seguir atrayendo su atención, seguimos preocupan por ellos. Pero después de algunos de los más ricos que se acostumbre a ellos y su funcionamiento en la lógica, para usted, que se convertirá en una cosa "natural".
Consejos para los programadores de C / C ++
no existen en Pythonswitch
comunicado. Se puede utilizarif..elif..else
para lograr el mismo comunicado que (en algunos casos, el uso de un diccionario puede ser completado más rápidamente).
2. while
Declaración
while
Declaración le permite repetir la afirmación en una condición de bloque es premisa verdadera. while
Declaración es bucle (Bucle) declaración sobre el. while
Declaración también puede tener else
cláusulas como una opción alternativa.
Caso (guardar como while.py
):
number = 23
running = True
while running:
guess = int(input('Enter an integer : '))
if guess == number:
print('Congratulations, you guessed it.')
# 这将导致 while 循环中止
running = False
elif guess < number:
print('No, it is a little higher than that.')
else:
print('No, it is a little lower than that.')
else:
print('The while loop is over.')
# 在这里你可以做你想做的任何事
print('Done')
salida:
Enter an integer : 50
No, it is a little lower than that.
Enter an integer : 22
No, it is a little higher than that.
Enter an integer : 23
Congratulations, you guessed it.
The while loop is over.
Done
En este programa, tenemos todavía que demostrar por juego de adivinanzas, pero la ventaja del nuevo programa es su capacidad para permitir a los usuarios seguir adivinando hasta que se suponía hasta ahora sin ---- como lo hicimos en el apartado anterior, según conjeturas tienen que volver a ejecutar el programa. Este cambio justo demuestra la while
declaración de papel.
En primer lugar, vamos a input
con el if
movimiento comunicado while
ciclo y while
antes del inicio de la variable ciclo de running
conjunto True
. Cuando se inicia el programa, primero examinamos las variables running
si True
, después de la re-aplicación del correspondiente while
bloque. Después de ejecutar este bloque, las condiciones serán re-comprobado, en la presente forma de realización es running
variable. Si aún así es True
, vamos a realizar nuevamente while
bloquear, de lo contrario vamos a seguir para ejecutar la opción else
de bloque, y luego pasar a la siguiente instrucción.
else
Los bloques de código en while
bucle condicional se convierte False
comenzaron cuando ---- este tiempo incluso puede ser el comienzo de las primeras condiciones de verificación de la época. Si hay un bucle while else
bloque de código que siempre se ejecutará, a menos que vaya a través de break
esta sentencia break ciclo.
True
Y False
se llama tipo booleano (Boolean), que puede considerarse como equivalentes respectivamente 1
con 0
.
Consejos para programador de C / C ++
se puedewhile
utilizar un bucleelse
cláusula.
3. for
ciclo
for...in
Declaración es otro bucle, que se caracteriza por una serie de objetos se llevará a cabo en la iteración (Itera) , lo que significa que atravesará la secuencia de cada proyecto. Nosotros en una tarde de secuencias (secuencias) para aprender más sobre sus capítulos. Todo lo que necesita se llama una cola ordenada es una colección de una serie de proyectos ahora.
Caso (guardar como for.py
):
for i in range(1, 5):
print(i)
else:
print('The for loop is over')
salida:
1
2
3
4
The for loop is over
En este programa, vamos a imprimir una secuencia de números. Construimos range
generar esta secuencia de números de función.
Aquí tenemos que hacer es proporcionar dos números y range
devolverá una secuencia de números, a partir del primer número, el segundo número al final. Por ejemplo, range(1,5)
la secuencia de salida [1, 2, 3, 4]
. Por defecto, range
sería a 1
aumentar gradualmente. Si hemos de range
proporcionar un tercer número, este número será gradualmente aumentando sumando. También se describe ejemplo, range(1,5,2)
tendrá salida [1, 3]
. Recuerde esta secuencia extendida hasta que el segundo dígito, es decir, que no incluye el segundo número incluido.
También tenga en cuenta que range()
cada uno va a generar un número, si desea una lista completa de números a utilizar range()
para llamar al list()
. Tales como los siguientes: list(range(5))
que le proporcione [0, 1, 2, 3, 4]
. Para una explicación detallada de la lista estará en las "Estructuras de datos" capítulo presenta.
Entonces for
el ciclo se expanda dentro del alcance de esta recursiva ---- for i in range(1,5)
equivalente for i in [1, 2, 3, 4]
, esta operación será secuencialmente número cada cola (u objeto) se asigna a i
, uno a la vez, entonces cada i
ejecutar valor bloques de instrucciones . En este caso, bloqueamos esta declaración hace es imprimir estos valores.
También hay que tener en cuenta que else
parte es opcional. Cuando el bucle se incluye en él, siempre va a for
comenzar después del final del ciclo, a menos que el programa ha encontrado un descanso comunicado.
Otro punto a destacar es que for...in
el trabajo puede de ninguna cola. Aquí, tenemos un sistema incorporado en range
la lista de números generados por una serie de funciones, pero en general podemos contener cualquier tipo de objeto cola! Vamos a explicar en detalle la idea en capítulos posteriores.
Consejos para C / C ++ / Java / C # programador de
Python enfor
la circulación y C / C ++ en elfor
ciclo se puede decir que sea completamente diferente. Programadores de C # se tenga en cuenta que Python enfor
la circulación y C # sonforeach
ciclo similar. Los programadores de Java se tenga en cuenta que se trata del mismo con Java 1.5 enfor (int i : IntArray)
poca diferencia.
En la C / C ++, si desea escribirfor (int i = 0; i < 5; i++)
, a continuación, sólo tiene que escribir en Pythonfor i in range(0,5)
. Como se puede ver, Python enfor
circulación será más simple, más expresivo y menos propenso a errores.
4. break
Declaración
break
Declaración de interrupción de bucle (Break), que es, para suspender la ejecución del bucle, incluso si la condición de bucle no ha cambiado False
, o proyecto cola no está todavía completa iteración es todavía el caso.
Hay que destacar, sobre todo si se rompe uno for
o while
circulación, ningún bucle correspondiente else
no se ejecutará el bloque.
Caso (guardar como break.py
):
while True:
s = input('Enter something : ')
if s == 'quit':
break
print('Length of the string is', len(s))
print('Done')
salida:
Enter something : Programming is fun
Length of the string is 18
Enter something : When the work is done
Length of the string is 21
Enter something : if you wanna make your work also fun:
Length of the string is 37
Enter something : use Python!
Length of the string is 11
Enter something : quit
Done
En este procedimiento, se acepta repetidamente el contenido de entrada de usuario e imprime la longitud de cada parte del contenido de entrada. Entramos por el usuario mediante la comprobación de quit
las condiciones especiales para determinar si se debe terminar el programa. Nosotros interrumpimos y se convierten en el ciclo hasta el final del programa para finalizar el proceso.
La longitud de la cadena de entrada puede ser incorporado len
para encontrar la función.
Recuerde que break
la declaración es igualmente aplicable a for
reciclar.
5. Continúe Declaración
continue
declaración de Python para decirle al ciclo actual omitir las sentencias restantes en el bloque, y continúa en esta iteración del bucle.
Caso (guardar como continue.py
):
while True:
s = input('Enter something : ')
if s == 'quit':
break
if len(s) < 3:
print('Too small')
continue
print('Input is of sufficient length')
# 自此处起继续进行其它任何处理
salida:
Enter something : a
Too small
Enter something : 12
Too small
Enter something : abc
Input is of sufficient length
Enter something : quit
En este programa, se acepta la entrada de los contenidos del usuario, sino sólo que la longitud de al menos 3 caracteres en la cadena de entrada vamos a procesarlo. Para ello, se utiliza el incorporado en len
funciones y para obtener la longitud de la cadena, si es menor de 3, mediante el uso nos continue
saltamos el resto de los estados de la Cuenta de bloque de código. De lo contrario, el bucle resto de las sentencias se ejecutan, y cualquier tipo de procesamiento que queremos aquí.
Tomar nota de continue
la declaración se puede utilizar en el mismo for
ciclo.
resumen
Ya conocemos los tres estados de flujo de control ---- if
, while
y for
---- su asociado break
con la continue
frase es cómo funciona. Estas declaraciones son algunos de la parte Python más utilizado, por lo que acostumbrarse a usarlos es necesario.
A continuación, vamos a aprender cómo crear y utilizar funciones.