Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

Se os programas pudessem ser executados de cima para baxo sem possíveis desvios, eles fariam muito pouco. Devido a isso, existem construções (chamados codicionais) que podem ser usados para levar a vários caminhos dentro do codigo. Vamos pegar nossa calculadora simples e modifica-lá para que o usuario possa escolher qual operador usar.

a = input("Digite o primeiro número: ")
b = input("Digite o segundo número: ")
op = input("Escolha o operador (+, -, *, /) ")
if op == '+':
    sum = int(a) + int(b)
    print("A sua soma é " + str(sum))
elif op == '-':
    sub = int(a) - int(b)
    print("A sua subtração é  " + str(sub))
elif op == '*':
    prod = int(a) * int(b)
    print("O seu produto é " + str(prod))
elif op == '/':
    quot = int(a) / int(b)
    print("A sua divisão é " + str(quot))
else:
    print("Operador desconhecido")

Mais uma vez, muitas coisas. Vamos dividir um pouco.

Primeiro, pedimos ao usuário que insira os dois números e o operador. Isso não é nada novo.

Em seguida, começamos a avaliar as várias possibilidades e agimos de acordo. A palavra-chave if apresenta um condicional, que é um pedaço de código que é executado apenas se alguma condição (ou várias condições, como veremos mais adiante), for verdadeira. A estrutura geral é:

if [condição]:
    [faça algo]

condição é qualquer coisa que pode ser avaliada com verdadeiro ou falso. Geralmente, é uma comparação. Então vejamos como as comparações funcionam.

Comparando

Há uma série de operadores que podemos usar para comparação. Vamos assumir o operador de igualdade (==) como um exemplo. Ative o interpretador no modo interativo e faça alguns testes.

>>> 5 == 5
True
>>> 5 == 4
False
>>> 5 == 'Olá'
False
>>> 'Olá' == 'Olá'
True
  • No primeiro caso, 5 é realmente igual a 5, então o interpretador nos diz que a comparação é verdadeira.
  • No segundo caso, 4 cetamente não é igual a 5, entao o interpretador nos diz que a comparação é False.
  • Um número claramente não é uma string (palavra), então o resultado gerado é False.
  • Finalmete, duas sequências de caracteres contendo exatamente os mesmos caracteres, e apenas esses caracteres, são praticamete a mesma string, então a comparação tem como resultado gerado  True.

Aqui está uma lista dos operadores disponiveis em python.

==

O valor da esquerda é igual ao da direita

!= O valor da esquerda não e igual ao da direita (diferente)
> O valor da esquerda é maior que o da direita 
>= O operador da esquerda é maior ou igual ao da direita
< O valor da esquerda é menor que o da direita 
<=

O operador da esquerda é menor ou igual ao da direita

Voltando a calculadora

Agora podemos voltar à forma geral de uma declaração if

if [condiçao]:
    [faça algo]

Nós já explicamos o que são condicionais, então vamos continuar. Após a condição, nós colocamos dois pontos e vamos para uma nova linha . No início da próxima linha, colocamos um certo número de espaços (4, por convenção) ou um tab . A partir daí, tudo o que é recuado pelo mesmo número de espaços será executado se e somente se a condição for verdadeira, até uma linha com um menor número de espaços principais. Vamos usar um exemplo mais simples para esclarecer.

if 5 == 5:
    print("5 é igual 5")
    print("Mas já sabíamos disso")
print("Você aprendeu alguma coisa hoje :)")

Por mais tolo que seja, este exemplo nos mostra que as duas primeiras impressões teriam sido executadas somente se a condição (5 == 5) retornar True, enquanto a última impressão teria sido executada de qualquer maneira. Vamos ver outro exemplo.

if 5 != 5:
    print("5 é igual 5")
    print("Então você não vai ver essas linhas")
print("Eu vou ser impresso de qualquer maneira :)")

Apenas a última linha será impressa desta vez porque não é parte da instrução if.

Então, de volta à nossa calculadora, se, quando perguntado ao operador, o usuário colocar '+' a condição da afirmação if seria verdadeira e as duas linhas a seguir (a que faz a adição e a impressão do resultado) seria executada. Caso contrário, eles seriam ignorados.

Uma vez que, neste caso particular, as escolhas são mutuamente exclusivas (o usuário não pode informar como entrada tanto '+' quanto '-', juntos), podemos simplesmente colocar um monte de ifs. Mas isso não nos permitiria considerar a alternativa em que o usuário não escolheu nenhuma dos operadores suportados. Para conseguir isso, o Python fornece duas declarações: elif e else.

elif é usado quando a condição anterior não for atendida, mas queremos fornecer outra condição. Ou seja, não estamos simplesmente dizendo 'de outra forma', estamos fornecendo uma alternativa, mas com alguma outra restrição. A forma de uma declaração elif é a mesma que a declaração if. A única diferença é que ele deve ser processado por um bloco if (ou seja, uma instrução if seguida pela parte identada).

Por outro lado, o outro diz ao interpretador "se nenhuma das condições anteriores foram atendidas, basta fazer isso". Porque é o último recurso, devo me colocar no final de uma cadeia de condições (isto é, não pode ser seguido por outro elif ou outro). Além disso, note que mais pode ser usado depois de um se, sem haver elifs, como neste programa (inútil) que verifica se você tem mais de 18 anos:

age = input("Qual sua idade? ")
if int(idade) > 18:
    print("Ok, voce pode entrar!")
else:
    print("Volte quando for mais velho!")

Etiquetas do documento e colaboradores

 Colaboradores desta página: Ronicley
 Última atualização por: Ronicley,