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:
- Declarações condicionais :
if
Instrução: Execute um bloco de código com base nas condições.elif
Declaração: Se a condição anterior não for válida, tente esta condição.else
Instrução: Este bloco de código é executado se todas as condições não forem atendidas.
- instrução de loop :
for
Loop: itera através de cada elemento na sequência.while
Loops: 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.
- 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.
- 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.
- 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.
- 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.
- 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, if
instruções são usadas para executar blocos de código com base em condições. A seguir está if
o uso básico das instruções:
-
if
Declaração condicional única :if condition: # 如果条件为真,则执行这里的代码 print("条件为真,执行此代码块。")
-
Múltiplas
if
declarações condicionais :if condition1: # 如果条件1为真,则执行这里的代码 print("条件1为真,执行此代码块。") elif condition2: # 如果条件1不为真,但条件2为真,则执行这里的代码 print("条件1不为真,条件2为真,执行此代码块。") else: # 如果条件1和条件2都不为真,则执行这里的代码 print("条件1和条件2都不为真,执行此代码块。")
-
if
Bloco de código na instrução :if
Dois 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.
-
Precauções :
- Expressões condicionais devem ser colocadas entre parênteses, especialmente no caso de múltiplas condições.
- Não se esqueça
if
de adicionar dois pontos após a declaração. - Certifique-se de que seus blocos de código estejam recuados corretamente.
-
Exemplo :
age = 20 if age >= 18: print("您已成年。") else: print("您还未成年。")
Neste exemplo, se age
a 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, if
o 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, else
as cláusulas são frequentemente if
usadas junto com instruções para fornecer if
caminhos de execução alternativos quando uma condição não é atendida. Aqui estão else
os usos básicos das cláusulas:
-
Cláusulas
if
após declarações simpleselse
:if condition: # 如果条件为真,则执行这里的代码 else: # 如果条件不为真,则执行这里的代码 print("条件不为真,执行此代码块。")
-
elif
Cláusulas eelse
cláusulas :if condition1: # 如果条件1为真,则执行这里的代码 elif condition2: # 如果条件1不为真,但条件2为真,则执行这里的代码 else: # 如果条件1和条件2都不为真,则执行这里的代码 print("条件1和条件2都不为真,执行此代码块。")
-
else
Cláusula ANDfor
ouwhile
Loop :for item in collection: # 循环体代码 else: # 当循环正常完成时执行,即循环体未被`break`语句打断时执行 print("循环体已全部执行完毕。")
Ao usar else
cláusulas, você precisa prestar atenção aos seguintes pontos:
else
As cláusulas devemif
ser usadas com e após aif
declaração.else
Os 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
elif
uma cláusula, cada umaelif
e a correspondenteelse
devem ter o mesmo nível de recuo. - Em um loop
for
orwhile
,else
a cláusula é executada no final normal do loop, ou seja,break
quando 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 x
for 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, elif
a cláusula (abreviação de else if) é usada para if
fornecer verificações de condição adicionais quando a condição da instrução não é atendida. elif
As cláusulas são frequentemente usadas para implementar lógica de ramificação multicondicional. Aqui estão elif
os usos básicos das cláusulas:
-
if-elif-else
estrutura :if condition1: # 如果条件1为真,则执行这里的代码 elif condition2: # 如果条件1不为真,但条件2为真,则执行这里的代码 else: # 如果条件1和条件2都不为真,则执行这里的代码 print("条件1和条件2都不为真,执行此代码块。")
-
elif
Ordem das cláusulas :elif
As 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
elif
e as execute.
-
Precauções :
- Cada um
elif
e o correspondenteelse
devem ter o mesmo nível de indentação. - Se a primeira
if
condição não for atendida, o Python verificará a primeiraelif
condição e executará o bloco de código correspondente, se for atendido. - Se todas as condições
if
ANDelif
não forem atendidas,else
a cláusula (se houver) será executada.
- Cada um
-
Exemplo :
grade = 'B' if grade == 'A': print("优秀!") elif grade == 'B': print("良好。") elif grade == 'C': print("及格。") else: print("加油,再努力!")
Neste exemplo, dependendo do grade
valor da variável, o programa imprime mensagens diferentes. Se grade
for 'A', imprima "Excelente!"; se for 'B', imprima "Bom."; se for 'C', imprima "Aprovado."; " ! ". elif
As 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
if
Instruções aninhadas referem-se ao uso de outra instrução if
dentro de um bloco de instruções . Instruções if
aninhadas if
permitem executar diferentes caminhos de código com base em múltiplas condições. A seguir está if
o uso básico de instruções aninhadas:
if
Declarações aninhadas :x = 10 if x > 0: print("x 是正数") if x < 100: print("x 是一个小于100的正数") else: print("x 不是正数")
Neste exemplo, primeiro verifique x
se é maior que 0. Se for, verifique ainda x
se é menor que 100. 2. Notas :
- Certifique-se de que as
if
instruções internas tenham oif
mesmo nível de recuo que as instruções externas. - Cada
if
instrução aninhada deve ter uma condição explícita para evitar loops infinitos.
- Exemplo :
age = 21 if age >= 18: print("您已成年。") if age >= 21: print("您已超过法定饮酒年龄。") else: print("您还未达到法定饮酒年龄。") else: print("您还未成年。")
Neste exemplo, primeiro verifique age
se é maior ou igual a 18 e, em caso afirmativo, verifique ainda se é maior ou igual a 21. Instruções aninhadas if
sã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 if
instruções aninhadas, certifique-se de que sua lógica esteja clara e seja o mais concisa possível.
3. Operadores lógicos
1. Uso and
de operadores or
enot
Em Python, and
os operadores or
e not
são usados para operações lógicas. Eles são usados para combinar várias condições ou negar uma única condição.
and
operador
and
O 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
or
operador
or
O 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
not
operador
- Negue uma única condição.
- Se a condição for verdadeira,
not
o 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 and
e or
.not
and
operador
and
Os operadores são usados para verificar se duas ou mais condições são verdadeiras ao mesmo tempo.- Dentro de
if
uma instrução, você podeand
combinar 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 x
for maior que 5 e y
maior que 10.
or
operador
or
Os operadores são usados para verificar se pelo menos uma de duas ou mais condições é verdadeira.- Dentro de
if
uma instrução, você podeor
fornecer uma condição alternativa usando.
x = 10
y = 5
if x > 5 or y > 10:
print("x 或 y 至少有一个大于它们的阈值。")
Neste exemplo, x
se for maior que 5 ou y
maior que 10, o bloco de código será executado.
not
operador
not
O operador é usado para negar uma única condição.- Dentro de
if
uma instrução, você pode usarnot
para reverter a lógica de uma condição.
x = 5
if not (x > 10):
print("x 不大于10。")
Neste exemplo, not
o operador é utilizado para verificar x
se não é maior que 10. Se x
nã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,
and
que tem prioridade mais alta queor
. 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. for
Uso básico de loops
Em Python, for
um 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 for
os princípios básicos do uso de loops:
-
for
Ciclo básico :for item in iterable: # 遍历iterable中的每个item print(item)
-
for
Variá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
- As variáveis de iteração geralmente são nomeadas
-
for
Bloco 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.
-
Exemplo :
# 遍历列表中的每个元素 fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit)
Neste exemplo, for
o loop itera sobre fruits
cada elemento da lista e o imprime. 5. Cláusulas for
do loopelse
:
for
Os loops também podem conter umaelse
cláusula opcional que é executada em cada iteração do loop externo sem serbreak
interrompida por uma instrução.else
A 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("循环体已全部执行完毕。")
for
Loops 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 for
permitem iterar e manipular facilmente cada elemento em uma sequência.
2. while
Uso básico de loops
Em Python, while
um loop é uma estrutura cíclica que executa repetidamente um bloco de código com base em uma condição específica. Aqui estão while
os princípios básicos do uso de loops:
-
while
Ciclo básico :while condition: # 当condition为真时,重复执行这里的代码 print("条件为真,继续循环。")
-
A estrutura básica de um loop :
while
A 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).
-
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.
-
Exemplo :
count = 0 while count < 5: print(count) count += 1
Neste exemplo, while
o loop se repete até que count
a 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.
while
Os 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 adequadowhile
de loops pode melhorar a eficiência e a capacidade de manutenção do seu programa.
5. Instruções de controle de loop
1. break
Uso de declarações
Em Python, break
uma instrução é usada para sair imediatamente da estrutura de loop em que você está atualmente, seja for
um loop ou while
um loop. A seguir está break
o uso básico das instruções:
for
Usado em um loopbreak
:for item in iterable: if item == "special": break # 退出for循环 print(item)
Neste exemplo, se a instrução no loop item
for igual a "especial", break
o loop será encerrado imediatamente. 2. Use em um loopwhile
break
:
count = 0
while count < 5:
print(count)
count += 1
if count == 3:
break # 退出while循环
Neste exemplo, quando count
igual a 3, break
a instrução fará com que while
o loop termine imediatamente. 3. Notas :
break
Uma 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.break
As 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 corretobreak
pode tornar seu código mais eficiente e flexível.
2. continue
Uso de declarações
Em Python, continue
a instrução é usada para pular o código restante do loop atual e iniciar a próxima iteração. Quando continue
a 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á continue
o uso básico das instruções:
for
Usado em um loopcontinue
:for item in iterable: if item == "special": continue # 跳过当前迭代,继续下一次迭代 print(item)
Neste exemplo, se item
for igual a "especial" no loop, continue
a instrução fará com que a iteração atual termine imediatamente e inicie a próxima iteração. 2. Use em um loopwhile
continue
:
count = 0
while count < 5:
count += 1
if count == 3:
continue # 跳过当前迭代,继续下一次迭代
print(count)
Neste exemplo, quando count
igual a 3, continue
a instrução fará com que a iteração atual termine imediatamente e inicie a próxima iteração. 3. Notas :
continue
Uma 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. continue
As 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.continue
As 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 adequadocontinue
pode tornar seu código mais flexível e fácil de manter.
3. Uso da instrução pass
Em Python, pass
uma 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á pass
o uso básico das instruções:
-
pass
Declaração básica :pass # 这是一个空操作,不执行任何操作
-
Use na definição da função
pass
: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 :
pass
As 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
pass
garante 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.pass
Embora a instrução seja autônoma, em alguns casos é necessário manter o código claro e consistente. O uso corretopass
pode 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
- 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("还未到投票年龄。")
- Imprimir um triângulo : Use
for
um loop para imprimir um triângulo retângulo.
for i in range(1, 6):
for j in range(1, i + 1):
print("*", end=" ")
print()
- 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}")
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.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.