Dia 4 de aprendizado da linguagem Python_Estrutura de controle: instruções condicionais e loops

I. Introdução

1. Uma breve introdução à estrutura de controle

Estruturas de controle são instruções em uma linguagem de programação que controlam o fluxo de execução do programa. Eles são divididos em duas categorias principais:

  1. Declarações condicionais :
    • ifInstrução: Execute um bloco de código com base nas condições.
    • elifDeclaração: Se a condição anterior não for válida, tente esta condição.
    • elseInstrução: Este bloco de código é executado se todas as condições não forem atendidas.
  2. instrução de loop :
    • forLoop: itera através de cada elemento na sequência.
    • whileLoops: repete um bloco de código enquanto uma condição for verdadeira.

2. A importância das estruturas de controle na programação

A importância das estruturas de controle na programação é que elas permitem que um programa execute blocos específicos de código com base em condições diferentes ou repetidamente. Isso permite que os programas tomem decisões, executem tarefas repetitivas e gerenciem processos complexos para implementar uma variedade de funções e algoritmos.

  1. Capacidade de tomada de decisão : Através de declarações condicionais (como if, elif, else), o programa pode executar diferentes caminhos de código de acordo com diferentes condições, realizando assim a função de tomada de decisão.
  2. Execução repetida : instruções de loop (como for, while) permitem que o programa execute repetidamente blocos de código, o que é crucial para lidar com tarefas repetitivas, atravessar estruturas de dados e outros cenários.
  3. Gerenciamento de processos : A estrutura de controle pode gerenciar efetivamente o processo de execução do programa, para que o programa possa ser executado em uma sequência lógica, melhorando a legibilidade e manutenção do código.
  4. Implementação de algoritmo : A estrutura de controle é a base para a implementação de algoritmos como classificação, pesquisa e programação dinâmica são inseparáveis ​​do suporte de instruções condicionais e instruções de loop.
  5. Flexibilidade e escalabilidade : O uso racional de estruturas de controle pode tornar o programa mais flexível e escalável, capaz de se adaptar a diferentes entradas e cenários, e melhorar a versatilidade do programa.

Em resumo, as estruturas de controle são um componente central das linguagens de programação, e dominá-las é crucial para escrever programas ricos em recursos e logicamente complexos.

2. Declarações condicionais

1. Uso básico da instrução if

Em Python, ifinstruções são usadas para executar blocos de código com base em condições. A seguir está ifo uso básico das instruções:

  1. ifDeclaração condicional única :

    if condition:
        # 如果条件为真,则执行这里的代码
        print("条件为真,执行此代码块。")
    
  2. Múltiplas ifdeclarações condicionais :

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

    • ifDois pontos ( ) após uma instrução :marcam o início de um bloco de código.
    • Os blocos de código devem ser recuados (geralmente 4 espaços ou 1 tabulação).
    • A indentação correta é fundamental para controlar estruturas em Python.
  4. Precauções :

    • Expressões condicionais devem ser colocadas entre parênteses, especialmente no caso de múltiplas condições.
    • Não se esqueça ifde adicionar dois pontos após a declaração.
    • Certifique-se de que seus blocos de código estejam recuados corretamente.
  5. Exemplo :

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

Neste exemplo, se agea variável for maior ou igual a 18, imprima “Você é maior de idade.”; caso contrário, imprima “Você ainda não é menor de idade.”; Lembre-se, ifo propósito básico de uma instrução é decidir se um bloco específico de código deve ser executado com base no resultado de uma avaliação condicional.

2. Uso da cláusula else

Em Python, elseas cláusulas são frequentemente ifusadas junto com instruções para fornecer ifcaminhos de execução alternativos quando uma condição não é atendida. Aqui estão elseos usos básicos das cláusulas:

  1. Cláusulas ifapós declarações simpleselse :

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

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

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

Ao usar elsecláusulas, você precisa prestar atenção aos seguintes pontos:

  • elseAs cláusulas devem ifser usadas com e após a ifdeclaração.
  • elseOs blocos de código dentro das cláusulas devem ter o mesmo nível de indentação para manter a estrutura do código clara.
  • Dentro de elifuma cláusula, cada uma elife a correspondente elsedevem ter o mesmo nível de recuo.
  • Em um loop foror while, elsea cláusula é executada no final normal do loop, ou seja, breakquando o corpo do loop não é interrompido por uma instrução. Por exemplo:
x = 10
if x > 0:
    print("x 是正数")
else:
    print("x 不是正数")

Neste exemplo, se xfor maior que 0, imprima “x é um número positivo”; caso contrário, imprima “x não é um número positivo”.

3. Uso da cláusula Elif

Em Python, elifa cláusula (abreviação de else if) é usada para iffornecer verificações de condição adicionais quando a condição da instrução não é atendida. elifAs cláusulas são frequentemente usadas para implementar lógica de ramificação multicondicional. Aqui estão elifos usos básicos das cláusulas:

  1. if-elif-elseestrutura :

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

    • elifAs cláusulas devem ser ordenadas da mais provável para a menos provável.
    • Isso permite que o programa encontre cláusulas que satisfaçam a condição com mais rapidez elife as execute.
  3. Precauções :

    • Cada um elife o correspondente elsedevem ter o mesmo nível de indentação.
    • Se a primeira ifcondição não for atendida, o Python verificará a primeira elifcondição e executará o bloco de código correspondente, se for atendido.
    • Se todas as condições ifAND elifnão forem atendidas, elsea cláusula (se houver) será executada.
  4. Exemplo :

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

Neste exemplo, dependendo do gradevalor da variável, o programa imprime mensagens diferentes. Se gradefor 'A', imprima "Excelente!"; se for 'B', imprima "Bom."; se for 'C', imprima "Aprovado."; " ! ". elifAs cláusulas são uma forma comum de implementar julgamentos condicionais complexos. Elas tornam o código mais claro e fácil de entender.

4. Instruções if aninhadas

ifInstruções aninhadas referem-se ao uso de outra instrução ifdentro de um bloco de instruções . Instruções ifaninhadas ifpermitem executar diferentes caminhos de código com base em múltiplas condições. A seguir está ifo uso básico de instruções aninhadas:

  1. ifDeclarações aninhadas :
    x = 10
    if x > 0:
        print("x 是正数")
        if x < 100:
            print("x 是一个小于100的正数")
    else:
        print("x 不是正数")
    

Neste exemplo, primeiro verifique xse é maior que 0. Se for, verifique ainda xse é menor que 100. 2. Notas :

  • Certifique-se de que as ifinstruções internas tenham o ifmesmo nível de recuo que as instruções externas.
  • Cada ifinstrução aninhada deve ter uma condição explícita para evitar loops infinitos.
  1. Exemplo :
    age = 21
    if age >= 18:
        print("您已成年。")
        if age >= 21:
            print("您已超过法定饮酒年龄。")
        else:
            print("您还未达到法定饮酒年龄。")
    else:
        print("您还未成年。")
    

Neste exemplo, primeiro verifique agese é maior ou igual a 18 e, em caso afirmativo, verifique ainda se é maior ou igual a 21. Instruções aninhadas ifsão muito úteis ao lidar com lógica complexa, mas o uso excessivo ou incorreto pode levar a um código difícil de entender e manter. Portanto, ao escrever ifinstruções aninhadas, certifique-se de que sua lógica esteja clara e seja o mais concisa possível.

3. Operadores lógicos

1. Uso andde operadores orenot

Em Python, andos operadores ore notsão usados ​​para operações lógicas. Eles são usados ​​para combinar várias condições ou negar uma única condição.

andoperador

  • andO resultado do operador é verdadeiro se ambas as condições forem verdadeiras .
  • Caso contrário, o resultado é falso.
condition1 = True
condition2 = False
result = condition1 and condition2
print(result)  # 输出:False

oroperador

  • orO resultado do operador é verdadeiro se pelo menos uma das duas condições for verdadeira .
  • Caso contrário, o resultado é falso.
condition1 = True
condition2 = False
result = condition1 or condition2
print(result)  # 输出:True

notoperador

  • Negue uma única condição.
  • Se a condição for verdadeira, noto resultado do operador será falso.
  • Caso contrário, o resultado é verdadeiro.
condition = True
result = not condition
print(result)  # 输出:False

Precauções

  • Os operandos em ambos os lados dos operadores lógicos são geralmente valores booleanos.
  • A ordem de operação dos operadores lógicos é da esquerda para a direita.
  • Os operadores lógicos podem ser usados ​​com qualquer expressão booleana.

Exemplo

# 组合使用 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

Esses operadores são muito úteis ao escrever instruções condicionais e podem ajudá-lo a construir julgamentos lógicos complexos. O uso adequado de operadores lógicos pode melhorar a clareza e a legibilidade do seu código.

2. Aplicação em declarações condicionais

Os operadores lógicos são amplamente utilizados em declarações condicionais e permitem combinar múltiplas condições para tomar decisões mais complexas. Em Python , os principais operadores lógicos incluem ande or.not

andoperador

  • andOs operadores são usados ​​para verificar se duas ou mais condições são verdadeiras ao mesmo tempo.
  • Dentro de ifuma instrução, você pode andcombinar várias condições usando.
x = 10
y = 20
if x > 5 and y > 10:
    print("x 和 y 都大于它们的阈值。")

Neste exemplo, o bloco de código só será executado se xfor maior que 5 e ymaior que 10.

oroperador

  • orOs operadores são usados ​​para verificar se pelo menos uma de duas ou mais condições é verdadeira.
  • Dentro de ifuma instrução, você pode orfornecer uma condição alternativa usando.
x = 10
y = 5
if x > 5 or y > 10:
    print("x 或 y 至少有一个大于它们的阈值。")

Neste exemplo, xse for maior que 5 ou ymaior que 10, o bloco de código será executado.

notoperador

  • notO operador é usado para negar uma única condição.
  • Dentro de ifuma instrução, você pode usar notpara reverter a lógica de uma condição.
x = 5
if not (x > 10):
    print("x 不大于10。")

Neste exemplo, noto operador é utilizado para verificar xse não é maior que 10. Se xnão for maior que 10, o bloco de código será executado.

Precauções

  • Ao usar operadores lógicos, tome cuidado para manter o código legível e use espaços e novas linhas de forma adequada.
  • Os operandos em ambos os lados de um operador lógico devem ser do mesmo tipo de dados, geralmente booleanos.
  • Ao usar vários operadores lógicos em combinação, preste atenção à prioridade da operação, andque tem prioridade mais alta que or. Ao usar operadores lógicos racionalmente, as declarações condicionais podem se tornar mais precisas e poderosas e podem lidar com julgamentos lógicos mais complexos.

4. Estrutura de loop

1. forUso básico de loops

Em Python, forum loop é uma instrução de iteração que percorre uma sequência (como uma lista, tupla, string) ou qualquer objeto iterável. Aqui estão foros princípios básicos do uso de loops:

  1. forCiclo básico :

    for item in iterable:
        # 遍历iterable中的每个item
        print(item)
    
  2. forVariáveis ​​de iteração em loops :

    • As variáveis ​​de iteração geralmente são nomeadas item, mas você pode usar qualquer nome de variável válido.
    • Em cada iteração, o próximo elemento itemé atribuído .iterable
  3. forBloco de código em loop :

    • Os blocos de código devem ser recuados (geralmente 4 espaços ou 1 tabulação).
    • A indentação correta é fundamental para controlar estruturas em Python.
  4. Exemplo :

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

Neste exemplo, foro loop itera sobre fruitscada elemento da lista e o imprime. 5. Cláusulas fordo loopelse :

  • forOs loops também podem conter uma elsecláusula opcional que é executada em cada iteração do loop externo sem ser breakinterrompida por uma instrução.
  • elseA cláusula normalmente é usada para executar trabalho de limpeza ou algum código quando o loop é concluído normalmente.
for item in iterable:
    # 循环体代码
else:
    # 当循环正常完成时执行
    print("循环体已全部执行完毕。")

forLoops são um recurso muito poderoso em Python e são amplamente usados ​​em cenários como processamento de dados e operações de arquivos. Os loops forpermitem iterar e manipular facilmente cada elemento em uma sequência.

2. whileUso básico de loops

Em Python, whileum loop é uma estrutura cíclica que executa repetidamente um bloco de código com base em uma condição específica. Aqui estão whileos princípios básicos do uso de loops:

  1. whileCiclo básico :

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

    • whileA palavra-chave marca o início do loop.
    • Expressões condicionais devem ser colocadas entre parênteses.
    • Os blocos de código devem ser recuados (geralmente 4 espaços ou 1 tabulação).
  3. Julgamento condicional :

    • O loop continuará até que a condição não seja mais verdadeira.
    • A condição geralmente é uma expressão booleana que determina se o loop continua a execução.
  4. Exemplo :

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

Neste exemplo, whileo loop se repete até que counta variável atinja o valor 5. 5. Notas :

  • Evite loops infinitos e garanta que a condição eventualmente se tornará falsa.
  • Recue os blocos de código corretamente para mantê-lo legível. whileOs loops são uma ferramenta importante para implementar tarefas repetitivas e verificar continuamente as condições. Muitas vezes é usado para lidar com situações que requerem múltiplas iterações até que uma determinada condição seja atendida. O uso adequado whilede loops pode melhorar a eficiência e a capacidade de manutenção do seu programa.

5. Instruções de controle de loop

1. breakUso de declarações

Em Python, breakuma instrução é usada para sair imediatamente da estrutura de loop em que você está atualmente, seja forum loop ou whileum loop. A seguir está breako uso básico das instruções:

  1. forUsado em um loopbreak :
    for item in iterable:
        if item == "special":
            break  # 退出for循环
        print(item)
    

Neste exemplo, se a instrução no loop itemfor igual a "especial", breako loop será encerrado imediatamente. 2. Use em um loopwhilebreak :

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

Neste exemplo, quando countigual a 3, breaka instrução fará com que whileo loop termine imediatamente. 3. Notas :

  • breakUma instrução só pode ser usada no nível do loop em que está localizada.
  • Assim que a instrução for executada break, a estrutura do loop terminará imediatamente e o código restante no corpo do loop não será mais executado.
  • Ao usá-lo break, você deve garantir que o loop terminará eventualmente para evitar a criação de um loop infinito. breakAs instruções são uma das principais formas de controlar a execução do loop, permitindo sair do loop mais cedo quando certas condições são atendidas, evitando assim iterações desnecessárias. O uso correto breakpode tornar seu código mais eficiente e flexível.

2. continueUso de declarações

Em Python, continuea instrução é usada para pular o código restante do loop atual e iniciar a próxima iteração. Quando continuea instrução é executada, a iteração do loop atual termina imediatamente, o fluxo de controle do programa retorna ao início do loop, a condição do loop é verificada e, se a condição for verdadeira, a próxima iteração começa. A seguir está continueo uso básico das instruções:

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

Neste exemplo, se itemfor igual a "especial" no loop, continuea instrução fará com que a iteração atual termine imediatamente e inicie a próxima iteração. 2. Use em um loopwhilecontinue :

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

Neste exemplo, quando countigual a 3, continuea instrução fará com que a iteração atual termine imediatamente e inicie a próxima iteração. 3. Notas :

  • continueUma instrução só pode ser usada no nível do loop em que está localizada.
  • Quando usado continue, você deve se certificar de que não faz com que o loop termine prematuramente, a menos que este seja o efeito desejado.
  • continueAs instruções são normalmente usadas para pular iterações desnecessárias ou para executar ações dentro de um loop sob certas condições. continueAs instruções são outra forma de controlar a execução do loop, permitindo pular a iteração atual quando certas condições forem atendidas, melhorando assim a eficiência e a precisão do loop. O uso adequado continuepode tornar seu código mais flexível e fácil de manter.

3. Uso da instrução pass

Em Python, passuma instrução é autônoma que não executa nenhuma ação e normalmente é usada como um espaço reservado ou para manter a integridade da estrutura do código. Use quando seu código exigir uma instrução, mas você não quiser que ele execute nenhuma ação real pass. A seguir está passo uso básico das instruções:

  1. passDeclaração básica :

    pass  # 这是一个空操作,不执行任何操作
    
  2. Use na definição da funçãopass :

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

Neste exemplo, example_functioné uma função vazia, que não contém nenhum código real. 3. Use na definição de classepass :

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

Neste exemplo, ExampleClassé uma classe vazia, que não define nenhuma propriedade ou método. 4. Notas :

  • passAs instruções são frequentemente usadas para manter intacta a estrutura do seu código, especialmente quando uma instrução é esperada, mas você não deseja executar nenhuma ação.
  • Usá-lo como espaço reservado em uma função ou classe passgarante que seu código siga as regras de sintaxe do Python, mesmo que a função ou classe não implemente nenhuma funcionalidade por enquanto. passEmbora a instrução seja autônoma, em alguns casos é necessário manter o código claro e consistente. O uso correto passpode tornar o código mais limpo e facilitar futuras manutenções e expansões do código.

6. Exercícios e Exemplos

Pratique questões sobre instruções condicionais e estruturas de loop

  1. Julgamento de idade : Escreva um programa para julgar se uma pessoa pode votar com base na idade inserida (assumindo que a idade para votar seja 18 anos).
age = int(input("请输入年龄:"))
if age >= 18:
    print("可以投票。")
else:
    print("还未到投票年龄。")
  1. Imprimir um triângulo : Use forum loop para imprimir um triângulo retângulo.
for i in range(1, 6):
    for j in range(1, i + 1):
        print("*", end=" ")
    print()
  1. Jogo de adivinhação de números : Escreva um jogo de adivinhação de números. O programa gera aleatoriamente um número inteiro entre 1 e 100. O jogador tem 10 chances de adivinhar o 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("你没有足够的尝试次数来猜出数字。")

Exemplos de resolução de problemas do mundo real

Pergunta 1: Calcular o imposto de renda pessoal

Suponha que o imposto de renda pessoal seja calculado da seguinte forma:

  • Se sua renda mensal for menor ou igual a 5.000 yuans, você não precisará pagar imposto de renda pessoal.
  • Se a renda mensal estiver entre 5.000 yuans e 15.000 yuans, a alíquota do imposto será de 5%.
  • Se a renda mensal estiver entre 15.000 yuans e 30.000 yuans, a alíquota do imposto será de 10%.
  • Se a renda mensal exceder 30.000 yuans, a alíquota do imposto será de 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}元。")

Questão 2: Calcule a soma de todos os números pares entre 1 e 100

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

Este artigo é uma reimpressão do artigo Heng Xiaopai e os direitos autorais pertencem ao autor original. Recomenda-se visitar o texto original. Para reimprimir este artigo, entre em contato com o autor original.

Linus resolveu resolver o problema por conta própria para evitar que os desenvolvedores do kernel substituíssem tabulações por espaços. Seu pai é um dos poucos líderes que sabe escrever código, seu segundo filho é o diretor do departamento de tecnologia de código aberto e seu filho mais novo é um núcleo. contribuidor de código aberto Huawei: Demorou 1 ano para converter 5.000 aplicativos móveis comumente usados ​​A migração abrangente para Hongmeng Java é a linguagem mais propensa a vulnerabilidades de terceiros Wang Chenglu, o pai de Hongmeng: Hongmeng de código aberto é a única inovação arquitetônica. no campo de software básico na China. Ma Huateng e Zhou Hongyi apertam as mãos para "remover rancores". Ex-desenvolvedor da Microsoft: o desempenho do Windows 11 é "ridiculamente ruim" " Embora o que Laoxiangji seja de código aberto não seja o código, as razões por trás disso são muito emocionantes. Meta Llama 3 é lançado oficialmente. Google anuncia uma reestruturação em grande escala.
{{o.nome}}
{{m.nome}}

Acho que você gosta

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