LA – Python – Aula 04A – Estruturas de decisão

Estruturas de decisão

Estruturas de decisão servem para que verificarmos certas situações que podem ser executadas por dois ou mais caminhos diferentes.  O que precisamos mostrar ao programa é que haverá certas condições a serem comparadas para essas sejam executados esses caminhos diferentes. Para isso, utilizamos os mesmos operadores relacionais das linguagens tradicionais.

Operadores relacionais ou operadores comparativos

Os operadores relacionais utilizados em Pyhton são:

>, = e <=

No interpretador do Idle, podemos fazer os seguintes testes, obtendo respostas True ou False (ou 1 ou 0 respecivamente equivalentes):

>>>print(1 > 2)
>>> print("a" > "b")
>>> print("a" >> print(ord("a"))
>>> print(ord("b"))
>>> print(chr(97))
>>> print(chr(98))
>>> print(100 == 100)

Operadores lógicos

São usados para fazer combinações de duas ou mais expressões de condição, obtendo um valor lógico. Podemos utilizar os comandos “and”, “or” e “not”. No interpretador do Idle, podemos ter o seguinte exemplo:

>>> True and True
>>> True and False
>>> False and True
>>> False and False
>>> 1 or 0
>>> 1 or 1
>>> 0 or 1
>>> 0 and 0
>>> not True
>>> not False

Estruturas de decisão

Em python, temos a estrutura de decisão mais simples em linguagens de programação tradicional, sendo ela o “if” e também o seu complemento “else”.

Como exemplo abaixo, podemos aplicar somente o if

def main():
    opcao = int(input("Deseja Continuar? Digite 1 para SIM e 2 para NAO "))

    if opcao == 1:
        print("Usuario escolheu continuar")

if __name__ == '__main__':
    main()

Como também pode aplicar com a extensão else:

def main():
    opcao = int(input("Deseja Continuar? Digite 1 para SIM e 2 para NAO "))

    if opcao == 1:
        print("Usuario escolheu continuar")
    else:
        print("Usuario escolheu parar")

if __name__ == '__main__':
    main()

Também é possível aplicar if´s encadeados:

def main():
    print("Opcoes de Operacoes\n")
    print("1 - Soma")
    print("2 - Subtracao")
    print("3 - Multiplicacao")
    print("4 - Divisão")
    
    opcao = int(input("Escolha uma opcao: "))

    valor1 = int(input("Digite valor1: "))

    valor2 = int(input("Digite valor2: "))

    if opcao == 1:
        resultado = valor1 + valor2
        print("O resultado da soma é: %5.2f" %(resultado))
    elif opcao == 2:
        resultado = valor1 - valor2
        print("O resultado da subtracao é: %5.2f" %(resultado))
    elif opcao == 3:
        resultado = valor1 * valor2
        print("O resultado da multiplicacao é: %5.2f" %(resultado))
    elif opcao == 4:
        resultado = valor1 / valor2
        print("O resultado da divisão é: %5.2f" %(resultado))
    else:
        print("Não escolheu nenhuma das opções")

        
if __name__ == '__main__':
    main()

Podemos reparar que mesmo tendo mais de um comando para cada If elif, não temos carateres de agrupamentos por bloco, sendo que a indentação é suficiente para que isso seja feito.

Até a versão do Python 3.x, não existe a função Switch -Case parecida com a linguagem C, porém Python utiliza o conceito de dicionário, a qual possuem atributos de chave-valor.

 

 

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s