Estruturas de Decisão
Quando uma pessoa liga o computador para usar, o que acontece?A resposta é: depende.
Algumas vão clicar no navegador e acessar o Facebook.
Outra pessoa vai abrir um jogo.
Muitos vão abrir o Office para trabalhar.
Outros vão abrir um programa que reproduz mp3, e por ai vai.
Ou seja: o que o computador vai fazer, depende do que o usuário quer fazer.
Em nossos programas, em Python, até agora, todos os scripts foram executados da mesma maneira. Do começo pro fim, de cima pra baixo, sempre do mesmo jeito.
Agora, usando o teste condicional if, vamos aprender como um programar pode tomar rumos diferentes de acordo com as decisões do usuários.
if: Teste Condicional em Python
A nomenclatura do teste condicional if em Python é:if condition :
[código]
[código]
...
if em inglês significa 'se'.
Onde tem escrito 'condition', colocamos uma condição, uma comparação, uma espécie de pergunta, que caso seja verdadeira, executa o código abaixo do if.
Se for falsa a condição, não executa o código abaixo do if.
Simples assim.
Exercício com teste condicional IF em Python
Escreva um programa que pede a idade do usuário.Se ele for maior de idade, exibimos uma mensagem dizendo que já pode dirigir.
O código de nosso programa é:
idade=int(input('Idade: ')) if idade>17 : print('Você é de maior, já pode dirigir!')
Veja que nosso teste condicional foi:
idade > 17
Ou seja, se a idade que você digitou for 18 ou mais, o código dentro do if seria executado. No caso, o código é um print na tela, de uma mensagem.
No lugar de 'idade>17' poderíamos ter usado 'idade>=18' que teria o mesmo efeito: só quem tem 18 anos ou mais vai visualizar a mensagem.
Indentação em Python
Para que o nosso código com o teste condicional if funcione, é necessário haver a indentação, que nada mais é que dar o espaçamento dentro do if.O correto é:
if age>17:
print('Você é de maior, já pode dirigir!')
Se fizermos:
if age>17:
print('Você é de maior, já pode dirigir!')
Não vai funcionar, pois o código dentro do if não está indentado (espaçado na linha abaixo do if).
Essa é uma das características do Python.
Ele te obriga a indentar. Sempre que for fazer um teste condicional if, no código dentro dele, você tem que dar pelo menos um espaço, ok?
Como usar o if em Python
Faça um programa que pergunta o gênero da pessoa. Se ela for mulher, digite 1. Se for homem, digite 2. Outro, 3.Para cada um, ele deve exibir uma mensagem dizendo o gênero escolhido.
Para resolver este exercício, vamos usar três testes condicionais if.
Um para testar se é mulher, outro para testar se é homem e outro para testar se é outro gênero.
Nosso código fica:
sexo = int( input('Digite 1 se for mulher, 2 homem ou 3 outro: ') ) if sexo == 1: print('Você é mulher') if sexo == 2: print('Vocè é homem') if sexo == 3: print('Outro gênero')
Qual o resultado do script acima?
Não tem como saber, vai depender do usuário! O programa roda de uma maneira diferente para cada tipo de situação.
print('''GENERO:
ResponderExcluir[ 1 ] MASCULINO
[ 2 ] FEMININO
[ 3 ] OUTRO''')
sexo = int(input('Qual seu genero?: '))
if sexo == 1:
print('Você é homem.')
if sexo == 2:
print('Você é mulher.')
if sexo == 3:
print('Outro genero.')
gen = input("Com qual gênero você se identifica?\n[1] Homem\n[2] Mulher\n[3] Outro\nDigite um número: ")
Excluirif gen == 1:
print('Homem')
if gen == 2:
print('Mulher')
if gen == 3:
print('Outro')
gen = int(input("Com qual gênero você se identifica?\n[1] Homem\n[2] Mulher\n[3] Outro\nDigite um número: "))
Excluirif gen == 1:
print('Homem')
if gen == 2:
print('Mulher')
if gen == 3:
print('Outro')
sexo = int(input('Genero\n 1 - Mulher\n 2 - Homem\n 3 - Outros \n'))
ResponderExcluirif sexo == 1:
s = 'Você é uma linda mulher!'
print("{0:>30}".format(s))
elif sexo == 2:
s = 'Você é um grande homem!'
print("{0:>30}".format(s))
else:
s = 'Acho que você é viado!'
print("{0:>30}".format(s))
Caramba! Aprendi muita coisa!
ResponderExcluircaberia um ELSE no final, para caso o usuário escolhesse uma outra opção que não conste na lista. else: print("Opção incorreta!")
ResponderExcluirBoa noite. Sou iniciante no Python e estou com uma dificuldade no seguinte código. Eu quero que o programa encerre caso o usuário seja menor de 18 anos. Por favor, alguém consegue apontar aonde eu uso o Break.
ResponderExcluirprint ("SEJA BEM VINDO AO PROGRAMA MAIOR OU MENOR.")
dados= int(input("Me informe qual a sua idade:"))
if dados ==18:
print("Você tem 18 anos.")
elif dados >18:
print("Você temm mais de 18 anos e por isso vamos te ajudar, sabemos que você está cansado.")
else:
print ("Você é menor de idade e por isso te aconselho a ler um livro de Matemática.")
a = int (input ("Digite o primeiro número:"))
b = int (input ("Digite o segundo número:")) #valor vem como string
if a>b:
print ("O primeiro número é o maior!")
if b>a:
print("O segundo número é o maior!")
if b==a:
print("Os numeros são iguais!")
print ("SEJA BEM VINDO AO PROGRAMA MAIOR OU MENOR.")
Excluirwhile True:
dados = int(input("Me informe qual a sua idade:"))
if dados == 18:
print("Você tem 18 anos.")
break
if dados > 18:
print("Você temm mais de 18 anos e por isso vamos te ajudar, sabemos que você está cansado.")
else:
print()
print ("Você é menor de idade e por isso te aconselho a ler um livro de Matemática.")
break
a = int (input ("Digite o primeiro número:"))
b = int (input ("Digite o segundo número:")) #valor vem como string
if a>b:
print ("O primeiro número é o maior!")
if b>a:
print("O segundo número é o maior!")
if b==a:
print("Os numeros são iguais!")
### break tem que ser usado num loop (FOR ou WHILE)
Alguém me ajuda a para o programa caso o usuario seja menor de 18 anos de idade. Sou iniciante Python.
ResponderExcluirprint ("SEJA BEM VINDO AO PROGRAMA MAIOR OU MENOR.")
dados= int(input("Me informe qual a sua idade:"))
if dados ==18:
print("Você tem 18 anos.")
elif dados >18:
print("Você temm mais de 18 anos e por isso vamos te ajudar, sabemos que você está cansado.")
else:
print ("Você é menor de idade e por isso te aconselho a ler um livro de Matemática.")
a = int (input ("Digite o primeiro número:"))
b = int (input ("Digite o segundo número:")) #valor vem como string
if a>b:
print ("O primeiro número é o maior!")
if b>a:
print("O segundo número é o maior!")
if b==a:
print("Os numeros são iguais!")