Instrução condicional if em Python. Sintaxe, blocos else/elif, exemplos

No processo de aprender a programar, muitas vezes é necessário criar programas que não são tão fáceis de aplicar na vida real. Afinal, de vez em quando você tem que seguir as instruções apenas sob certas condições. Para poder implementar isso no programa, todas as linguagens possuem comandos de controle. Com a ajuda deles, você pode controlar o fluxo de execução do código, criando loops ou realizando determinadas ações apenas quando determinada condição for verdadeira.

Hoje falaremos sobre a instrução if, que verifica a situação atual de uma determinada condição e, com base nessas informações, toma decisões sobre ações futuras.

Tipos de Declarações de Controle

Em geral, if não é a única instrução que controla o fluxo de um programa. Assim como ele próprio pode ser um componente de uma cadeia maior de operadores.

Existem também loops e instruções que controlam o processo de sua execução. Hoje falaremos apenas do operador condicional e das cadeias em que ele pode participar.

Na programação, existe algo como ramificação. É precisamente isso que significa uma sequência de comandos que é executada apenas se uma determinada condição for verdadeira. Os próprios critérios podem ser diferentes:

  1. Igualdade de uma variável a um determinado valor.
  2. Executando uma ação específica.
  3. Estado do aplicativo (recolhido ou não).

O espectro pode ser muito maior. As instruções condicionais vêm em vários tipos:

  1. Com um ramo. Ou seja, uma única verificação é executada, como resultado da qual determinadas ações são executadas.
  2. Com dois ou mais ramos. Se o critério 1 for verdadeiro, verifique o critério 2. Se for verdadeiro, verifique o 3. E assim, faça quantas verificações forem necessárias.
  3. Com várias condições. Tudo é simples aqui. O intérprete verifica várias condições ou uma delas.

declaração if

A estrutura da instrução if é semelhante em todas as linguagens. No entanto, em Python, sua sintaxe é um pouco diferente de todas as outras:

se condição:

    <входящее выражение 1>

    <входящее выражение 2>

<не входящее выражение>

Primeiro, o próprio operador é declarado, após o qual a condição sob a qual ele começa a funcionar é escrita. A condição pode ser verdadeira ou falsa.

Isto é seguido por um bloco com comandos. Se seguir imediatamente um critério a ser atendido, a sequência de comandos correspondente é chamada de bloco if. Você pode usar qualquer número de comandos nele.

Atenção! O recuo dentro de todos os comandos de bloco if deve ser do mesmo tamanho. Os limites do bloco são determinados pelos recuos. 

De acordo com a documentação do idioma, o recuo é de 4 espaços. 

Como funciona este operador? Quando o intérprete vê a palavra if, ele imediatamente verifica a expressão em relação aos critérios especificados pelo usuário. Se for esse o caso, ele começa a procurar instruções e a segui-las. Caso contrário, todos os comandos deste bloco serão ignorados.

Se uma instrução após a condição não for recuada, ela não será tratada como um bloco if. Na nossa situação, esta linha é . Portanto, independentemente do resultado da verificação, esta linha será executada.

Aqui está um trecho de código para um exemplo de como esse operador funciona.

numero = int(input("Digite um numero: "))

se número > 10:

    print(“O número é maior que 10”)

Este programa solicita ao usuário um número e verifica se é maior que 10. Em caso afirmativo, ele retorna as informações apropriadas. Por exemplo, se o usuário digitar o número 5, o programa simplesmente terminará e pronto.

Mas se você especificar o número 100, o intérprete entenderá que é mais de dez e o relatará.

Atenção! No nosso caso, se a condição for falsa, o programa para, pois nenhum comando é dado após a instrução.

Há apenas um comando no código acima. Mas há muitos mais deles. O único requisito é recuar.

Agora vamos analisar essa sequência de comandos.

numero = int(input("Escreva um numero: "))

se número > 10:

    print(“primeira linha”)

    print("segunda linha")

    print("terceira linha")

print("A linha que é executada, independentemente do número digitado")

print("Fim do aplicativo")

Tente adivinhar qual será a saída se você inserir os valores 2, 5, 10, 15, 50.

Como você pode ver, se o número digitado pelo usuário for mais de dez, então três linhas são produzidas + uma com o texto “Executar toda vez …” e uma “Fim”, e se for menor que dez, então apenas uma, com um texto diferente. Apenas as linhas 3,4,5 serão executadas se forem verdadeiras. No entanto, as duas últimas linhas serão escritas independentemente do número especificado pelo usuário.

Se você usar as instruções diretamente no console, o resultado será diferente. O intérprete liga imediatamente o modo multilinha se, após especificar o critério de verificação, pressionar Enter.

Suponha que escrevemos a seguinte sequência de comandos.

>>>

>>> n = 100

>>> se n > 10:

...

Depois disso, veremos que >>> foi substituído por reticências. Isso significa que o modo de entrada multilinha está habilitado. Em palavras simples, se você pressionar Enter, você será transferido para a entrada do segundo estágio da instrução. 

E para sair deste bloco, você precisa adicionar mais uma construção ao bloco if.

>>>

>>> n = 100

>>> se n > 10:

… print(«nv 10»)

...

Se a condição não for verdadeira, o programa termina. Isso é um problema, pois o usuário pode perceber que esse programa foi fechado devido a uma falha. Portanto, é necessário dar feedback ao usuário. Para isso, é usado um link se mais.

operador de expressão se mais

Este operador permite implementar um link: se a expressão corresponder a uma determinada regra, execute essas ações e, se não, outras. Ou seja, permite dividir o fluxo do programa em duas vias. A sintaxe é intuitiva:

se condição:

    # se bloquear

    declaração 1

    declaração 2

    e assim por diante

outro:

    # outro bloco

    declaração 3

    declaração 4

    e assim por diante:

Vamos explicar como esse operador funciona. Primeiro, a instrução padrão é executada na thread teixo, verificando se corresponde condição "verdadeiro ou falso". Outras ações dependem dos resultados da verificação. Se verdadeiro, a instrução que está na sequência de instruções que segue a condição é executada diretamente. teixo, se for falso, então outro

Desta forma, você pode lidar com erros. Por exemplo, o usuário precisa inserir um raio. Obviamente, só pode ser um número com sinal de mais, ou é um valor nulo. Se for menor que 0, você precisará emitir uma mensagem solicitando que insira um número positivo. 

Aqui está o código que implementa esta tarefa. Mas há um erro aqui. Tente adivinhar qual. 

raio = int(input(“Digite o raio: “))

se raio >= 0:

    print("Circunferência = ", 2 * 3.14 * raio)

    print("Área = ", 3.14 * raio ** 2)

    outro:

        print("Digite um número positivo")

Erro de incompatibilidade de recuo. Se e Senão devem estar localizados sem eles ou com o mesmo número deles (dependendo se estão aninhados ou não).

Vamos dar outro caso de uso (onde tudo estará correto com o alinhamento do operador) – um elemento de aplicação que verifica uma senha.

senha = input("Digite a senha: ")

se senha == «sshh»:

    print(“Bem-vindo”)

outro:

    print("Acesso negado")

Esta instrução pula a pessoa ainda mais se a senha for sshh. Se houver qualquer outra combinação de letras e números, ele exibirá a mensagem “Acesso negado”.

declaração-expressão if-elif-else

Somente se várias condições não forem verdadeiras, a instrução que está no bloco é executada. outro. Esta expressão funciona assim.

se condição_1:

    # se bloquear

    afirmação

    afirmação

    mais declaração

elif condição_2:

    # primeiro bloco elif

    afirmação

    afirmação

    mais declaração

elif condição_3:

    # segundo bloco elif

    afirmação

    afirmação

    mais declaração

...

outro

    afirmação

    afirmação

    mais declaração

Você pode especificar qualquer número de condições adicionais.

Declarações aninhadas

Outra maneira de implementar várias condições é inserir verificações de condição adicionais no bloco if.

operador if dentro de outro bloco de condição

gre_score = int(input(“Digite seu limite de crédito atual”))

per_grad = int(input("Digite sua classificação de crédito: "))

se per_grad > 70:

    # externo se bloco

        se gre_score > 150:

            # bloco if interno

    print(“Parabéns, você recebeu um empréstimo”)

outro:

    print("Desculpe, você não é elegível para um empréstimo")

Este programa realiza uma verificação de classificação de crédito. Se for inferior a 70, o programa informa que o usuário não é elegível para crédito. Se for maior, é realizada uma segunda verificação para ver se o limite de crédito atual é maior que 150. Se sim, é exibida uma mensagem informando que o empréstimo foi emitido.

Se ambos os valores forem falsos, será exibida uma mensagem informando que o usuário não tem a possibilidade de obter um empréstimo. 

Agora vamos retrabalhar um pouco esse programa.

gre_score = int(input(“Digite o limite atual: “))

per_grad = int(input(“Digite a pontuação de crédito: “))

se per_grad > 70:

    se gre_score > 150:

        print(“Parabéns, você recebeu um empréstimo”)

    outro:

        print("Seu limite de crédito é baixo")

outro:

    print("Desculpe, você não é elegível para crédito")

O código em si é muito semelhante, mas aninhado if também fornece um algoritmo caso a condição dele seja falsa. Ou seja, o limite do cartão é insuficiente, mas o histórico de crédito é bom, a mensagem “Você tem uma classificação de crédito baixa” é exibida.

instrução if-else dentro de uma condição outro

Vamos fazer outro programa que determina a nota de um aluno com base nas notas dos testes.

pontuação = int(input(“Digite sua pontuação: “))

se pontuação >= 90:

    print(“Ótimo! Sua nota é A”)

outro:

    se pontuação >= 80:

print(“Ótimo! Sua nota é B”)

    outro:

se pontuação >= 70:

    print(“Bom! Sua nota é C”)

outro:

    se pontuação >= 60:

print("Sua nota é D. Vale a pena repetir o material.")

    outro:

print("Você falhou no exame")

O aplicativo primeiro verifica se a pontuação é maior ou igual a 90. Se sim, ele retorna uma nota A. Se essa condição for falsa, as verificações subsequentes serão executadas. Vemos que o algoritmo é quase o mesmo à primeira vista. Então, em vez de verificar dentro outro melhor usar uma combinação if-elif-else.

Então o operador if executa uma função muito importante – garante que certas partes do código sejam executadas somente se houver necessidade. É impossível imaginar a programação sem ele, porque mesmo os algoritmos mais simples exigem bifurcações como “se você for para a esquerda, você encontrará, e se for para a direita, precisará fazer isso e aquilo”.

Deixe um comentário