El orden de ejecución de las sentencias en un programa Python incluye tres estructuras de control básicas: estructura de secuencia, estructura de selección y estructura de bucle.
1. Estructura de la secuencia
La secuencia básica de ejecución de instrucciones en un programa se ejecuta en el orden de aparición de cada instrucción, lo que se denomina estructura de secuencia; consulte la figura siguiente. Primero ejecute el bloque de instrucciones 1, luego ejecute el bloque de instrucciones 2 y, finalmente, ejecute el bloque de instrucciones 3. Las tres son relaciones de ejecución secuencial.
2. Elige la estructura
La estructura de selección puede controlar la rama de ejecución del código de acuerdo con las condiciones.La estructura de selección también se denomina estructura de rama. Python usa declaraciones if para implementar estructuras de ramas.
La estructura de la rama incluye múltiples formas: rama única, rama doble y ramas múltiples. El diagrama de flujo es el siguiente:
2.1, estructura de rama única
La sintaxis de la estructura de rama única de la instrucción if es la siguiente:
if (expresión condicional):
Declaración / bloque
Cuando el valor de la expresión condicional es verdadero (Verdadero), se ejecuta la instrucción después de if; de lo contrario, no se realiza ninguna operación y el control se transferirá al punto final de la instrucción if.
num1 = int(input("Please input a number:"))
num2 = int(input("Please input a number:"))
print(str.format("输入值:{0},{1}", num1, num2))
if(num1 < num2):
t = num1
num1 = num2
num2 = t
print(str.format("降序值:{0},{1}", num1, num2))
2.2, estructura de doble rama
La sintaxis de la estructura de instrucción de doble rama de la instrucción if es la siguiente:
if (expresión condicional):
sentencia / bloque de sentencias 1
más:
Declaración / bloque de declaración 2
Cuando el valor de la expresión condicional es verdadero (Verdadero), ejecute la instrucción 1 después de if, de lo contrario ejecute la instrucción 2 después de else
num = int(input("Please input a number:"))
if num >= 0:
print()
if num % 2 == 0:
print("{}是偶数".format(num))
else:
print("{}是奇数".format(num))
else:
print("请输入一个非负数")
2.3, estructura de múltiples ramas
La sintaxis de la estructura de múltiples ramas de la instrucción if es la siguiente:
if (expresión condicional):
sentencia / bloque de sentencias 1
elif (expresión condicional 2):
Declaración / bloque de declaración 2
...
elif (expresión condicional n):
Instrucción / bloque de instrucción n
más:
Instrucción / bloque de instrucción n + 1
La función de esta declaración es determinar qué declaración ejecutar de acuerdo con el valor de diferentes expresiones condicionales
mark = int(input("请输入分数:"))
if(mark >= 90):
grade = '优'
print(grade)
elif(mark >= 80):
grade = '良'
print(grade)
elif(mark >= 70):
grade = '中'
print(grade)
elif(mark >= 60):
grade = '及格'
print(grade)
else:
grade = '不及格'
print(grade)
2.4, anidamiento de declaraciones if
La estructura que contiene una o más sentencias if en una sentencia if se denomina anidamiento de sentencias if. La forma general es la siguiente:
3. Estructura de bucle
La estructura de bucle se utiliza para ejecutar repetidamente una o más declaraciones. El uso de la estructura de bucle puede reducir la carga de trabajo de la escritura repetitiva del programa fuente. Muchos algoritmos necesitan utilizar estructuras de bucle. Python usa declaraciones for y while para implementar estructuras de bucle.
3.1, para bucle
La instrucción for se utiliza para recorrer los elementos de una colección de objetos iterables y ejecutar una instrucción incrustada relacionada para cada elemento de la colección. Cuando se iteran todos los elementos de la colección, el control se pasa a la siguiente instrucción después de for. El formato de la declaración for es el siguiente:
para variable en la colección de objetos:
Bloque de declaración / declaración de cuerpo de bucle
for i in (1, 2, 3):
print(i)
3.2, objeto de rango
El rango de objetos incorporado de Python 3 es un objeto iterador, que genera una secuencia de números en un rango específico durante la iteración. El formato es: rango (inicio, parada [, paso]) . La serie numérica devuelta por rango comienza desde el inicio y termina en la parada (sin incluir la parada). Si se especifica el paso de tamaño de paso opcional, la secuencia crece según el tamaño de paso. P.ej:
3.3, mientras que bucle
Al igual que el ciclo for, while también es un ciclo probado previamente, pero antes de que comience el ciclo, no se conoce el número de ejecuciones repetidas de la secuencia de instrucciones del ciclo. La instrucción while ejecuta la instrucción de bucle (bloque) cero o más veces de acuerdo con diferentes condiciones. El formato de la declaración de bucle while es:
while (expresión condicional):
Bloque de declaración / declaración de cuerpo de bucle
count = 0
while (count < 9):
print("The count is:", count)
count = count + 1
print "Good bye!"
3.4 、 descanso
La instrucción break se usa para terminar la instrucción del bucle, es decir, si la condición del bucle no tiene una condición falsa o la secuencia no se ha repetido por completo, también dejará de ejecutar la instrucción del bucle. La instrucción break se usa en bucles while y for.
Si usa bucles anidados, la instrucción break detendrá el bucle más profundo y comenzará a ejecutar la siguiente línea de código.
num = int(input("Please enter a number: "))
flag = True
if num > 1:
for i in range(2, num//2 + 1):
if (num % i) == 0:
flag = False
break
if flag:
print(num, "是质数")
else:
print(num, "不是质数")
else:
print(num, "不是质数")
3,5 、 continuar
La declaración de continuación de Python salta de este bucle y break salta de todo el bucle. La declaración continue se usa para decirle a Python que omita las declaraciones restantes en el ciclo actual y luego continúe con el siguiente ciclo.
La instrucción continue se usa en bucles while y for.
for i in range(1, 6):
if i == 3:
continue
print("i=", i)