Día 4 del aprendizaje del lenguaje Python_Estructura de control: declaraciones condicionales y bucles

I. Introducción

1. Una breve introducción a la estructura de control.

Las estructuras de control son declaraciones en un lenguaje de programación que controlan el flujo de ejecución del programa. Se dividen en dos categorías principales:

  1. Declaraciones condicionales :
    • ifDeclaración: Ejecute un bloque de código según las condiciones.
    • elifDeclaración: Si la condición anterior no se cumple, pruebe esta condición.
    • elseDeclaración: este bloque de código se ejecuta si no se cumplen todas las condiciones.
  2. declaración de bucle :
    • forBucle: itera a través de cada elemento de la secuencia.
    • whileBucles: repite un bloque de código siempre que una condición sea verdadera.

2. La importancia de las estructuras de control en la programación

La importancia de las estructuras de control en la programación es que permiten que un programa ejecute bloques de código específicos en función de diferentes condiciones o de forma repetida. Esto permite a los programas tomar decisiones, realizar tareas repetitivas y gestionar procesos complejos para implementar una variedad de funciones y algoritmos.

  1. Capacidad de toma de decisiones : A través de declaraciones condicionales (como if, elif, else), el programa puede ejecutar diferentes rutas de código de acuerdo con diferentes condiciones, realizando así la función de toma de decisiones.
  2. Ejecución repetida : las declaraciones de bucle (como for, while) permiten que el programa ejecute repetidamente bloques de código, lo cual es crucial para manejar tareas repetitivas, atravesar estructuras de datos y otros escenarios.
  3. Gestión de procesos : la estructura de control puede gestionar eficazmente el proceso de ejecución del programa, de modo que el programa pueda ejecutarse en una secuencia lógica, mejorando la legibilidad y mantenibilidad del código.
  4. Implementación de algoritmos : la estructura de control es la base para la implementación del algoritmo. Los algoritmos como la clasificación, la búsqueda y la programación dinámica son inseparables del soporte de declaraciones condicionales y declaraciones de bucle.
  5. Flexibilidad y escalabilidad : el uso racional de estructuras de control puede hacer que el programa sea más flexible y escalable, capaz de adaptarse a diferentes entradas y escenarios, y mejorar la versatilidad del programa.

En resumen, las estructuras de control son un componente central de los lenguajes de programación y dominarlas es crucial para escribir programas lógicamente complejos y ricos en funciones.

2. Declaraciones condicionales

1. Uso básico de la declaración if

En Python, iflas declaraciones se utilizan para ejecutar bloques de código según condiciones. El siguiente es ifel uso básico de las declaraciones:

  1. ifDeclaración condicional única :

    if condition:
        # 如果条件为真,则执行这里的代码
        print("条件为真,执行此代码块。")
    
  2. Múltiples ifdeclaraciones condicionales :

    if condition1:
        # 如果条件1为真,则执行这里的代码
        print("条件1为真,执行此代码块。")
    elif condition2:
        # 如果条件1不为真,但条件2为真,则执行这里的代码
        print("条件1不为真,条件2为真,执行此代码块。")
    else:
        # 如果条件1和条件2都不为真,则执行这里的代码
        print("条件1和条件2都不为真,执行此代码块。")
    
  3. ifBloque de código en declaración :

    • ifDos puntos ( ) después de una declaración :marcan el comienzo de un bloque de código.
    • Los bloques de código deben tener sangría (normalmente 4 espacios o 1 tabulación).
    • La sangría correcta es clave para controlar estructuras en Python.
  4. Precauciones :

    • Las expresiones condicionales deben estar entre paréntesis, especialmente en el caso de múltiples condiciones.
    • No olvide ifagregar dos puntos después de la declaración.
    • Asegúrese de que sus bloques de código tengan la sangría correcta.
  5. Ejemplo :

    age = 20
    if age >= 18:
        print("您已成年。")
    else:
        print("您还未成年。")
    

En este ejemplo, si agela variable es mayor o igual a 18, imprima "Usted es adulto."; de lo contrario, imprima "Aún no es menor de edad". Recuerde, ifel propósito básico de una declaración es decidir si se ejecuta un bloque de código específico en función del resultado de una evaluación condicional.

2. Uso de la cláusula else

En Python, elselas cláusulas se ifutilizan a menudo junto con declaraciones para proporcionar ifrutas de ejecución alternativas cuando no se cumple una condición. Estos son elselos usos básicos de las cláusulas:

  1. Cláusulas ifdespués de declaraciones simpleselse :

    if condition:
        # 如果条件为真,则执行这里的代码
    else:
        # 如果条件不为真,则执行这里的代码
        print("条件不为真,执行此代码块。")
    
  2. elifCláusulas y elsecláusulas :

    if condition1:
        # 如果条件1为真,则执行这里的代码
    elif condition2:
        # 如果条件1不为真,但条件2为真,则执行这里的代码
    else:
        # 如果条件1和条件2都不为真,则执行这里的代码
        print("条件1和条件2都不为真,执行此代码块。")
    
  3. elseCláusula AND foro whileBucle :

    for item in collection:
        # 循环体代码
    else:
        # 当循环正常完成时执行,即循环体未被`break`语句打断时执行
        print("循环体已全部执行完毕。")
    

Al utilizar elsecláusulas, debe prestar atención a los siguientes puntos:

  • elseLas cláusulas deben ifusarse con y después de la ifdeclaración.
  • elseLos bloques de código dentro de las cláusulas deben tener el mismo nivel de sangría para mantener clara la estructura del código.
  • Dentro de elifuna cláusula, todas elify cada una de las correspondientes elsedeben tener el mismo nivel de sangría.
  • En un bucle foror , la cláusula se ejecuta al final normal del bucle, es decir, cuando el cuerpo del bucle no es interrumpido por una declaración. Por ejemplo:whileelsebreak
x = 10
if x > 0:
    print("x 是正数")
else:
    print("x 不是正数")

En este ejemplo, si xes mayor que 0, imprima "x es un número positivo"; de lo contrario, imprima "x no es un número positivo".

3. Uso de la cláusula elif

En Python, elifla cláusula (abreviatura de else if) se utiliza para ifproporcionar comprobaciones de condiciones adicionales cuando no se cumple la condición de la declaración. elifLas cláusulas se utilizan a menudo para implementar lógica de rama multicondicional. Estos son eliflos usos básicos de las cláusulas:

  1. if-elif-elseestructura :

    if condition1:
        # 如果条件1为真,则执行这里的代码
    elif condition2:
        # 如果条件1不为真,但条件2为真,则执行这里的代码
    else:
        # 如果条件1和条件2都不为真,则执行这里的代码
        print("条件1和条件2都不为真,执行此代码块。")
    
  2. elifOrden de cláusulas :

    • elifLas cláusulas deben ordenarse de más probable a menos probable.
    • Esto permite que el programa encuentre cláusulas que cumplan la condición más rápidamente elify las ejecute.
  3. Precauciones :

    • Cada uno elify el correspondiente elsedeben tener el mismo nivel de sangría.
    • Si no se cumple la primera ifcondición, Python verificará la primera elifcondición y ejecutará el bloque de código correspondiente si se cumple.
    • Si no se cumplen todas las condiciones ifAND , se ejecuta la cláusula (si la hubiera).elifelse
  4. Ejemplo :

    grade = 'B'
    if grade == 'A':
        print("优秀!")
    elif grade == 'B':
        print("良好。")
    elif grade == 'C':
        print("及格。")
    else:
        print("加油,再努力!")
    

En este ejemplo, dependiendo del gradevalor de la variable, el programa imprime diferentes mensajes. Si gradees 'A', imprima "¡Excelente!"; si es 'B', imprima "Bueno".; si es 'C', imprima "Aprobado". " ! ". elifLas cláusulas son una forma común de implementar juicios condicionales complejos. Hacen que el código sea más claro y fácil de entender.

4. Declaraciones if anidadas

Las declaraciones anidadas ifse refieren al uso de otra declaración ifdentro de un bloque de declaraciones . Las declaraciones ifanidadas ifle permiten ejecutar diferentes rutas de código según múltiples condiciones. El siguiente es ifel uso básico de declaraciones anidadas:

  1. ifDeclaraciones anidadas :
    x = 10
    if x > 0:
        print("x 是正数")
        if x < 100:
            print("x 是一个小于100的正数")
    else:
        print("x 不是正数")
    

En este ejemplo, primero verifique xsi es mayor que 0. Si es así, verifique más a fondo xsi es inferior a 100. 2. Notas :

  • Asegúrese de que las ifdeclaraciones internas tengan el ifmismo nivel de sangría que las declaraciones externas.
  • Cada ifdeclaración anidada debe tener una condición explícita para evitar bucles infinitos.
  1. Ejemplo :
    age = 21
    if age >= 18:
        print("您已成年。")
        if age >= 21:
            print("您已超过法定饮酒年龄。")
        else:
            print("您还未达到法定饮酒年龄。")
    else:
        print("您还未成年。")
    

En este ejemplo, primero verifique agesi es mayor o igual a 18 y, de ser así, luego verifique si es mayor o igual a 21. Las declaraciones anidadas ifson muy útiles cuando se trata de lógica compleja, pero el uso excesivo o incorrecto puede generar código difícil de entender y mantener. Entonces, al escribir ifdeclaraciones anidadas, asegúrese de que su lógica sea clara y manténgala lo más concisa posible.

3. Operadores lógicos

1. Uso andde operadores orynot

En Python, andlos operadores ory notse utilizan para operaciones lógicas. Se utilizan para combinar múltiples condiciones o negar una sola condición.

andoperador

  • andEl resultado del operador es verdadero si ambas condiciones son verdaderas .
  • De lo contrario, el resultado es falso.
condition1 = True
condition2 = False
result = condition1 and condition2
print(result)  # 输出:False

oroperador

  • orEl resultado del operador es verdadero si al menos una de las dos condiciones es verdadera .
  • De lo contrario, el resultado es falso.
condition1 = True
condition2 = False
result = condition1 or condition2
print(result)  # 输出:True

notoperador

  • Negar una sola condición.
  • Si la condición es verdadera, notel resultado del operador es falso.
  • De lo contrario, el resultado es verdadero.
condition = True
result = not condition
print(result)  # 输出:False

Precauciones

  • Los operandos de ambos lados de los operadores lógicos suelen ser valores booleanos.
  • El orden de operación de los operadores lógicos es de izquierda a derecha.
  • Los operadores lógicos se pueden utilizar con cualquier expresión booleana.

Ejemplo

# 组合使用 and、or 和 not 运算符
x = 10
y = 20
result = (x > 5) and (y > 10)
print(result)  # 输出:False
result = (x > 5) or (y > 10)
print(result)  # 输出:True
result = not (x == y)
print(result)  # 输出:True

Estos operadores son muy útiles al escribir declaraciones condicionales y pueden ayudarle a generar juicios lógicos complejos. El uso adecuado de operadores lógicos puede mejorar la claridad y legibilidad de su código.

2. Aplicación en declaraciones condicionales

Los operadores lógicos se utilizan ampliamente en declaraciones condicionales y le permiten combinar múltiples condiciones para tomar decisiones más complejas. En Python, los principales operadores lógicos incluyen andy or.not

andoperador

  • andLos operadores se utilizan para comprobar si dos o más condiciones son verdaderas al mismo tiempo.
  • Dentro de ifuna declaración, puede andcombinar múltiples condiciones usando.
x = 10
y = 20
if x > 5 and y > 10:
    print("x 和 y 都大于它们的阈值。")

En este ejemplo, el bloque de código solo se ejecutará si xes mayor que 5 y ymayor que 10.

oroperador

  • orLos operadores se utilizan para comprobar si al menos una de dos o más condiciones es verdadera.
  • Dentro de ifuna declaración, puede orproporcionar una condición alternativa usando .
x = 10
y = 5
if x > 5 or y > 10:
    print("x 或 y 至少有一个大于它们的阈值。")

En este ejemplo, xsi es mayor que 5 o ymayor que 10, se ejecutará el bloque de código.

notoperador

  • notEl operador se utiliza para negar una sola condición.
  • Dentro de ifuna declaración, puede utilizar notpara invertir la lógica de una condición.
x = 5
if not (x > 10):
    print("x 不大于10。")

En este ejemplo, notel operador se utiliza para verificar xsi no es mayor que 10. Si xno es mayor que 10, se ejecutará el bloque de código.

Precauciones

  • Cuando utilice operadores lógicos, tenga cuidado de mantener el código legible y utilice espacios y nuevas líneas de forma adecuada.
  • Los operandos de ambos lados de un operador lógico deben ser del mismo tipo de datos, normalmente booleanos.
  • Cuando utilice varios operadores lógicos en combinación, preste atención a la prioridad de la operación, andque tiene una prioridad más alta que or. Al utilizar operadores lógicos racionalmente, las declaraciones condicionales pueden volverse más precisas y poderosas, y pueden manejar juicios lógicos más complejos.

4. Estructura de bucle

1. forUso básico de bucles

En Python, forun bucle es una declaración de iteración que atraviesa una secuencia (como una lista, tupla, cadena) o cualquier objeto iterable. Estos son forlos conceptos básicos del uso de bucles:

  1. forBucle básico :

    for item in iterable:
        # 遍历iterable中的每个item
        print(item)
    
  2. forVariables de iteración en bucles :

    • Las variables de iteración suelen tener un nombre item, pero puede utilizar cualquier nombre de variable válido.
    • En cada iteración, itemse asigna iterableel siguiente elemento .
  3. forBloque de código en bucle :

    • Los bloques de código deben tener sangría (normalmente 4 espacios o 1 tabulación).
    • La sangría correcta es clave para controlar estructuras en Python.
  4. Ejemplo :

    # 遍历列表中的每个元素
    fruits = ["apple", "banana", "cherry"]
    for fruit in fruits:
        print(fruit)
    

En este ejemplo, forel bucle itera sobre fruitscada elemento de la lista y lo imprime. 5. Cláusulas foren el bucleelse :

  • forLos bucles también pueden contener una elsecláusula opcional que se ejecuta en cada iteración del bucle externo sin ser breakinterrumpido por una declaración.
  • elseLa cláusula se utiliza normalmente para realizar trabajos de limpieza o algún código cuando el ciclo se completa normalmente.
for item in iterable:
    # 循环体代码
else:
    # 当循环正常完成时执行
    print("循环体已全部执行完毕。")

forLos bucles son una característica muy poderosa de Python y se usan ampliamente en escenarios como el procesamiento de datos y las operaciones de archivos. Los bucles forle permiten iterar y manipular fácilmente cada elemento en una secuencia.

2. whileUso básico de bucles

En Python, whileun bucle es una estructura cíclica que ejecuta repetidamente un bloque de código en función de una condición específica. Estos son whilelos conceptos básicos del uso de bucles:

  1. whileBucle básico :

    while condition:
        # 当condition为真时,重复执行这里的代码
        print("条件为真,继续循环。")
    
  2. La estructura básica de un bucle :

    • whileLa palabra clave marca el comienzo del ciclo.
    • Las expresiones condicionales deben estar entre paréntesis.
    • Los bloques de código deben tener sangría (normalmente 4 espacios o 1 tabulación).
  3. Juicio condicional :

    • El ciclo continuará hasta que la condición ya no sea cierta.
    • La condición suele ser una expresión booleana que determina si el bucle continúa ejecutándose.
  4. Ejemplo :

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

En este ejemplo, whileel bucle se repite hasta que countla variable alcanza el valor 5. 5. Notas :

  • Evite bucles infinitos y asegúrese de que la condición eventualmente se vuelva falsa.
  • Sangra los bloques de código correctamente para mantener tu código legible. whileLos bucles son una herramienta importante para implementar tareas repetitivas y comprobar continuamente las condiciones. A menudo se utiliza para manejar situaciones que requieren múltiples iteraciones hasta que se cumpla una determinada condición. El uso adecuado whilede los bucles puede mejorar la eficiencia y la capacidad de mantenimiento de su programa.

5. Declaraciones de control de bucle

1. breakUso de declaraciones

En Python, breakse utiliza una declaración para salir inmediatamente de la estructura de bucle en la que se encuentra actualmente, ya sea forun bucle o whileun bucle. El siguiente es breakel uso básico de las declaraciones:

  1. forUsado en un buclebreak :
    for item in iterable:
        if item == "special":
            break  # 退出for循环
        print(item)
    

En este ejemplo, si la declaración en el bucle itemes igual a "especial", breakhará que el bucle termine inmediatamente. 2. Usar en buclewhilebreak :

count = 0
while count < 5:
    print(count)
    count += 1
    if count == 3:
        break  # 退出while循环

En este ejemplo, cuando countes igual a 3, breakla declaración hará que whileel ciclo finalice inmediatamente. 3. Notas :

  • breakUna declaración sólo se puede utilizar en el nivel de bucle en el que se encuentra.
  • Una vez que se ejecuta la declaración break, la estructura del bucle finalizará inmediatamente y el código restante en el cuerpo del bucle ya no se ejecutará.
  • Al usarlo break, debes asegurarte de que el bucle finalmente termine para evitar crear un bucle infinito. breakLas declaraciones son una de las formas clave de controlar la ejecución del bucle, lo que le permite salir del bucle antes de tiempo cuando se cumplen ciertas condiciones, evitando así iteraciones innecesarias. El uso correcto breakpuede hacer que su código sea más eficiente y flexible.

2. continueUso de declaraciones

En Python, continuela declaración se usa para omitir el código restante del ciclo actual e iniciar la siguiente iteración. Cuando continuese ejecuta la declaración, la iteración del bucle actual termina inmediatamente, el flujo de control del programa vuelve al principio del bucle, se comprueba la condición del bucle y, si la condición es verdadera, comienza la siguiente iteración. El siguiente es continueel uso básico de las declaraciones:

  1. forUsado en un buclecontinue :
    for item in iterable:
        if item == "special":
            continue  # 跳过当前迭代,继续下一次迭代
        print(item)
    

En este ejemplo, si itemes igual a "especial" en el bucle, continuela declaración hará que la iteración actual termine inmediatamente y comience la siguiente iteración. 2. Usar en buclewhilecontinue :

count = 0
while count < 5:
    count += 1
    if count == 3:
        continue  # 跳过当前迭代,继续下一次迭代
    print(count)

En este ejemplo, cuando countes igual a 3, continuela declaración hará que la iteración actual termine inmediatamente y comience la siguiente iteración. 3. Notas :

  • continueUna declaración sólo se puede utilizar en el nivel de bucle en el que se encuentra.
  • Cuando se utiliza continue, debes asegurarte de que no haga que el bucle termine prematuramente, a menos que este sea el efecto deseado.
  • continueLas declaraciones se utilizan normalmente para omitir iteraciones innecesarias o para realizar acciones dentro de un bucle bajo ciertas condiciones. continueLas declaraciones son otra forma de controlar la ejecución del bucle, lo que le permite omitir la iteración actual cuando se cumplen ciertas condiciones, mejorando así la eficiencia y precisión del bucle. El uso adecuado continuepuede hacer que su código sea más flexible y más fácil de mantener.

3. Uso de declaración de pase

En Python, passuna declaración es una operación no operativa que no realiza ninguna acción y normalmente se usa como marcador de posición o para mantener la integridad de la estructura del código. Úselo cuando su código requiera una declaración, pero no desee que realice ninguna acción real pass. El siguiente es passel uso básico de las declaraciones:

  1. passDeclaración básica :

    pass  # 这是一个空操作,不执行任何操作
    
  2. Uso en la definición de funciónpass :

    def example_function():
        pass  # 函数中使用pass作为占位符
    

En este ejemplo, example_functiones una función vacía, que no contiene ningún código real. 3. Uso en la definición de clasepass :

class ExampleClass:
    pass  # 类中使用pass作为占位符

En este ejemplo, ExampleClasses una clase vacía, que no define ninguna propiedad ni método. 4. Notas :

  • passLas declaraciones se utilizan a menudo para mantener intacta la estructura de su código, especialmente cuando se espera una declaración pero no desea realizar ninguna acción.
  • Usarlo como marcador de posición en una función o clase passgarantiza que su código siga las reglas de sintaxis de Python, incluso si la función o clase no implementa ninguna funcionalidad por el momento. passAunque la declaración no es operativa, en algunos casos es necesario mantener el código claro y coherente. El uso correcto passpuede hacer que el código sea más limpio y facilitar el mantenimiento y la expansión futuros del código.

6. Ejercicios y ejemplos

Preguntas de práctica sobre declaraciones condicionales y estructuras de bucle.

  1. Juicio de edad : escriba un programa para juzgar si una persona puede votar según la edad ingresada (suponiendo que la edad para votar sea 18 años).
age = int(input("请输入年龄:"))
if age >= 18:
    print("可以投票。")
else:
    print("还未到投票年龄。")
  1. Imprimir un triángulo : use forun bucle para imprimir un triángulo rectángulo.
for i in range(1, 6):
    for j in range(1, i + 1):
        print("*", end=" ")
    print()
  1. Juego de adivinanzas de números : escribe un juego de adivinanzas de números. El programa genera aleatoriamente un número entero entre 1 y 100. El jugador tiene 10 oportunidades de adivinar el número.
import random
secret_number = random.randint(1, 100)
for attempt in range(10):
    guess = int(input("请猜一个1到100之间的整数:"))
    if guess < secret_number:
        print("太小了!")
    elif guess > secret_number:
        print("太大了!")
    else:
        print(f"恭喜你,猜对了!秘密数字是 {secret_number}。")
        break
    if attempt == 9:
        print("你没有足够的尝试次数来猜出数字。")

Ejemplos de resolución de problemas del mundo real

Pregunta 1: Calcular el impuesto sobre la renta personal

Supongamos que el impuesto sobre la renta personal se calcula de la siguiente manera:

  • Si su ingreso mensual es menor o igual a 5.000 yuanes, no necesita pagar el impuesto sobre la renta personal.
  • Si el ingreso mensual está entre 5.000 y 15.000 yuanes, la tasa impositiva es del 5%.
  • Si los ingresos mensuales están entre 15.000 y 30.000 yuanes, el tipo impositivo es del 10%.
  • Si los ingresos mensuales superan los 30.000 yuanes, la tasa impositiva es del 20%.
income = float(input("请输入您的月收入:"))
if income <= 5000:
    tax = 0
elif income <= 15000:
    tax = income * 0.05
elif income <= 30000:
    tax = income * 0.10
else:
    tax = income * 0.20
print(f"您的个人所得税为:{tax:.2f}元。")

Pregunta 2: Calcula la suma de todos los números pares entre 1 y 100

sum_even = 0
for i in range(1, 101):
    if i % 2 == 0:
        sum_even += i
print(f"1到100之间所有偶数的和是:{sum_even}")

Este artículo es una reimpresión del artículo Heng Xiaopai y los derechos de autor pertenecen al autor original. Se recomienda visitar el texto original. Para reimprimir este artículo, comuníquese con el autor original.

Linus tomó el asunto en sus propias manos para evitar que los desarrolladores del kernel reemplacen las pestañas con espacios. Su padre es uno de los pocos líderes que puede escribir código, su segundo hijo es el director del departamento de tecnología de código abierto y su hijo menor es un núcleo. Colaborador de código abierto Huawei: tomó 1 año convertir 5000 aplicaciones móviles de uso común Migración completa a Hongmeng Java es el lenguaje más propenso a vulnerabilidades de terceros Wang Chenglu, el padre de Hongmeng: el código abierto Hongmeng es la única innovación arquitectónica. En el campo del software básico en China, Ma Huateng y Zhou Hongyi se dan la mano para "eliminar rencores". Ex desarrollador de Microsoft: el rendimiento de Windows 11 es "ridículamente malo " " Aunque lo que Laoxiangji es de código abierto no es el código, las razones detrás de él. Son muy conmovedores. Meta Llama 3 se lanza oficialmente. Google anuncia una reestructuración a gran escala.
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/6851747/blog/11049084
Recomendado
Clasificación