base Python - Control de Flujo

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, fory while.

1. ifDeclaración

ifDeclaració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 numberset 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 inputpara 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 enterla tecla, input()en la forma de la función devolverá una cadena entrado en lo que tenemos. A continuación, intconvertir esto en un entero y una cadena almacenada en una variable guessen. De hecho, intuna 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 ifsentencia 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 elifdeclaración, serán en realidad dos conectada if else-if elseestado consolidado en un if-elif-elsecomunicado. Esto puede hacer que el programa sea más fácil, y la cantidad de sangría requerida puede ser reducida.

elifY la elsemisma 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 ifse proporciona en otra declaración ifcondena, y por lo tanto puede proceder ---- Esto se llama anidados ifdeclaraciones.

Para recordar elify elsepartes son opcionales. Un mínimo y eficaz ifdeclaración es la siguiente:

if True:
    print('Yes, it is true')

Cuando se ejecuta Python completa ifdeclaración y asociados elify elsecláusulas posteriores, se moverá para contener ifla 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 Python switchcomunicado. Se puede utilizar if..elif..elsepara lograr el mismo comunicado que (en algunos casos, el uso de un diccionario puede ser completado más rápidamente).

2. whileDeclaración

whileDeclaración le permite repetir la afirmación en una condición de bloque es premisa verdadera. whileDeclaración es bucle (Bucle) declaración sobre el. whileDeclaración también puede tener elseclá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 whiledeclaración de papel.

En primer lugar, vamos a inputcon el ifmovimiento comunicado whileciclo y whileantes del inicio de la variable ciclo de runningconjunto True. Cuando se inicia el programa, primero examinamos las variables runningsi True, después de la re-aplicación del correspondiente whilebloque. Después de ejecutar este bloque, las condiciones serán re-comprobado, en la presente forma de realización es runningvariable. Si aún así es True, vamos a realizar nuevamente whilebloquear, de lo contrario vamos a seguir para ejecutar la opción elsede bloque, y luego pasar a la siguiente instrucción.

elseLos bloques de código en whilebucle condicional se convierte Falsecomenzaron cuando ---- este tiempo incluso puede ser el comienzo de las primeras condiciones de verificación de la época. Si hay un bucle while elsebloque de código que siempre se ejecutará, a menos que vaya a través de breakesta sentencia break ciclo.

TrueY Falsese llama tipo booleano (Boolean), que puede considerarse como equivalentes respectivamente 1con 0.

Consejos para programador de C / C ++

se puede whileutilizar un bucle elsecláusula.

3. forciclo

for...inDeclaració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 rangegenerar esta secuencia de números de función.

Aquí tenemos que hacer es proporcionar dos números y rangedevolverá 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, rangesería a 1aumentar gradualmente. Si hemos de rangeproporcionar 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 forel 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 iejecutar valor bloques de instrucciones . En este caso, bloqueamos esta declaración hace es imprimir estos valores.

También hay que tener en cuenta que elseparte es opcional. Cuando el bucle se incluye en él, siempre va a forcomenzar después del final del ciclo, a menos que el programa ha encontrado un descanso comunicado.

Otro punto a destacar es que for...inel trabajo puede de ninguna cola. Aquí, tenemos un sistema incorporado en rangela 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 en forla circulación y C / C ++ en el forciclo se puede decir que sea completamente diferente. Programadores de C # se tenga en cuenta que Python en forla circulación y C # son foreachciclo similar. Los programadores de Java se tenga en cuenta que se trata del mismo con Java 1.5 en for (int i : IntArray)poca diferencia.
En la C / C ++, si desea escribir for (int i = 0; i < 5; i++), a continuación, sólo tiene que escribir en Python for i in range(0,5). Como se puede ver, Python en forcirculación será más simple, más expresivo y menos propenso a errores.

4. breakDeclaración

breakDeclaració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 foro whilecirculación, ningún bucle correspondiente elseno 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 quitlas 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 lenpara encontrar la función.

Recuerde que breakla declaración es igualmente aplicable a forreciclar.

5. Continúe Declaración

continuedeclaració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 lenfunciones y para obtener la longitud de la cadena, si es menor de 3, mediante el uso nos continuesaltamos 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 continuela declaración se puede utilizar en el mismo forciclo.

resumen

Ya conocemos los tres estados de flujo de control ---- if, whiley for---- su asociado breakcon la continuefrase 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.

recursos

[1] Flujo de control · un byte de Python

Publicado 66 artículos originales · ganado elogios 101 · Vistas a 30000 +

Supongo que te gusta

Origin blog.csdn.net/u010705932/article/details/104405129
Recomendado
Clasificación