Enviar um café pro programador

IF - Teste Condicional em Python

Este é, sem dúvidas, um dos tutoriais mais importantes de nosso Curso de Python, onde iremos falar sobre como usar o teste condicional IF .


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çook?

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.

9 comentários:

  1. print('''GENERO:
    [ 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.')

    ResponderExcluir
    Respostas
    1. gen = input("Com qual gênero você se identifica?\n[1] Homem\n[2] Mulher\n[3] Outro\nDigite um número: ")
      if gen == 1:
      print('Homem')
      if gen == 2:
      print('Mulher')
      if gen == 3:
      print('Outro')

      Excluir
    2. gen = int(input("Com qual gênero você se identifica?\n[1] Homem\n[2] Mulher\n[3] Outro\nDigite um número: "))
      if gen == 1:
      print('Homem')
      if gen == 2:
      print('Mulher')
      if gen == 3:
      print('Outro')

      Excluir
  2. sexo = int(input('Genero\n 1 - Mulher\n 2 - Homem\n 3 - Outros \n'))

    if 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))

    ResponderExcluir
  3. caberia 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!")

    ResponderExcluir
  4. Boa 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.
    print ("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!")

    ResponderExcluir
    Respostas
    1. print ("SEJA BEM VINDO AO PROGRAMA MAIOR OU MENOR.")
      while 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)

      Excluir
  5. Alguém me ajuda a para o programa caso o usuario seja menor de 18 anos de idade. Sou iniciante Python.

    print ("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!")

    ResponderExcluir