Ajude nosso projeto a se manter online, faça um PIX de qualquer valor:
programacao.progressiva@gmail.com

Python: Programa que diz se é vogal ou consoante

"Faça um Programa que verifique se uma letra digitada é vogal ou consoante."


Código comentado em Python

Primeiro, pedimos um caractere ao usuário e guardamos na variável 'caractere'.

O normal agora seria comparamos se é uma vogal 'a', 'e', 'i', 'o' ou 'u' ou não.
Nós vamos fazer isso sim, porém tem uma pegadinha aí.

Em programação, uma letra minúscula é diferente da sua maiúscula.
Logo, além das vogais que citamos, temos que comparar com 'A', 'E', 'I', 'O' e 'U' também.

Nosso código fica:

    char=input('Digite um caractere: ')

    if char=='a' or char=='e' or char=='i' or char=='o' or char=='u' or \
       char=='A' or char=='E' or char=='I' or char=='O' or char=='U':
           print('Vogal')
    else:
           print('Consoante')


Para um if não ficar muito grande, com muitas condições, quebramos ele em duas linhas. Para isso, basta usar uma barra \ , como fizemos no código.



20 comentários:

  1. eu tentei fazer igual, mas quando eu vou usar ELSE ta erro, alguém pode me ajudar por favor?

    ResponderExcluir
    Respostas
    1. Posta o código meu caro, pra poder dar uma olhada. No caso do cógigo acima, ainda dá pra por um .upper() ou um .lower() no input, pra reduzir o código, convertendo logo para maiúscula ou minúscula

      Excluir
    2. Def consoante_vogal():
      Letra = input ("Digite um carácter")
      If letra == "a" or letra == "e" or letra == "i" or letra == "o" or letra == "u" letra == :
      print ("E vogal")
      eles:
      ("E consoante")
      consoante_vogal ()

      Excluir
  2. Se digitar um número aparace como consoante. Como consertar isso?

    ResponderExcluir
    Respostas
    1. char= input('Digite a letra: ')
      if char=='a' or char=='e' or char=='i' or char=='o' or char=='u' or\
      char=='A' or char=='E' or char=='I' or char=='O' or char=='U':
      print('Vogal')
      else:
      if char=='1' or char=='2' or char=='3' or char=='4' or char=='5' or\
      char=='6' or char=='7' or char=='8' or char=='9' or char=='0':
      print('Invalido')
      else:
      print('Consoante')

      Excluir
  3. Mas e se digitarmos um numero nesse codigo? Como a gente faria pra printar uma "Opcao invalida" caso seja numero?

    ResponderExcluir
    Respostas
    1. if char=='a' or char=='e' or char=='i' or char=='o' or char=='u' or \
      char=='A' or char=='E' or char=='I' or char=='O' or char=='U':
      print('Vogal')
      else:
      print('Consoante')
      else:
      print("Opção inválida!)

      Excluir
    2. Amigo, acho que seria algo assim:

      letra = input('Digite uma letra: ')

      if letra.isalpha():
      if letra in 'AaEeIiOoUu':
      print('A letra digitada é uma vogal.')
      else:
      print('A letra digitada é uma consoante.')

      if letra.isnumeric():
      print('O caractere digitado não é uma letra.')

      Excluir
    3. Puxei um gancho do seu código, ficou assim:

      letra = input('Digite uma letra: ')
      if letra.isalpha():
      if letra in 'AaEeIiOoUu':
      print('A letra digitada é uma vogal.')
      else:
      print('A letra digitada é uma consoante.')
      else:
      print('O caractere digitado não é uma letra.')

      Excluir
  4. o código assim fica muito grande e nada legível, precisamos ter legibilidade , acho que ficaria legal assim :

    acao = str(input(' Informe a letra que deseja descobrir :'))

    if acao in 'a,e,i,o,u:
    print('É vogal')

    else:
    print('É consoante')

    ResponderExcluir
    Respostas
    1. No caso, você está passando uma lista. É possível fazer assim também, mas ainda não estudamos lista neste ponto do curso.

      Excluir
    2. Def vogalouconsoante ():
      letra = ("Digite um carácter")
      If letra == "a" or letra== "e" or letra== "i" or letra == "o" or letra == "u" or letra ==:
      prin ("E vogal")
      else:
      print ("E consoante")
      vogalouconsoante ()

      Excluir
  5. Para não precisar colocar as opções com letras maiúsculas e minúsculas, pode-se converter o caractere digitado já na entrada em maiúsculo: .upper() ou em minúsculo: .lower(). Outro problema é se for digita qualquer outro caractere que não seja uma letra. Então eu usei a função .isalpha() para verificar. Meu código ficou assim:

    letra = input('Digite uma letra qualquer: ').lower()
    print('')

    if letra.isalpha():
    if letra in 'a, e, i, o, u':
    print('A letra digitada é uma VOGAL!')
    else:
    print('A letra digitada é uma CONSOANTE!')
    else:
    print('O caractere digitado não é uma letra!')



    ResponderExcluir

  6. letra = input('Digite uma letra: ')

    vogal = ['A', 'E', 'I', 'O', 'U', 'a', 'e', 'i', 'o', 'u']

    if letra in vogal:
    print( 'É vogal')
    else:
    print( 'É consoante')

    ResponderExcluir

  7. letra = input('Digite uma letra: ')

    vogal = ['A', 'E', 'I', 'O', 'U', 'a', 'e', 'i', 'o', 'u']

    if letra in vogal:
    print( 'É vogal')
    else:
    print( 'É consoante')

    ResponderExcluir
  8. letra = str(input('Digite uma letra:')).strip().upper()
    if letra == 'A' or letra == 'O' or letra == 'I' or letra == 'O' or letra == 'U' :
    print('VOGAL!')
    else:
    print('CONSOANTE!')

    ResponderExcluir
  9. MINHA SOLUÇÃO FOI:

    letra = input('Eu verifico se um caractére é vogal, consoante ou número!\n'
    'Forneça uma caractére válido: ').upper()
    vogal = ['A' ,'E' ,'I' ,'O' ,'U']
    if letra.isalpha():
    if letra in vogal:
    print("O caractére '{}' é uma letra vogal!".format(letra))
    else:
    print("O caractére '{}' é uma letra consoante!".format(letra))
    elif letra.isnumeric():
    print("O caractére '{}' é um número!".format(letra))
    elif letra.isalnum():
    print("O conjunto de caractéres '{}' é alfanúmerico!".format(letra))
    else:
    print("O caractere '{}' é um símbolo!".format(letra))

    ResponderExcluir
  10. isVowel = input("Choose a letter: ").upper()
    if isVowel=="A" or isVowel=="E" or isVowel=="I" or isVowel=="O" or isVowel=="U":
    print("You chose a vowel")
    else:
    print("You chose a consonant")

    Obs.: Utilizei o método upper() para não precisar informar as vogais em maiúsculo.

    ResponderExcluir



  11. letra = input("Digite uma letra: ")
    if letra == "a":
    print("A letra digitada é uma vogal!")
    elif letra == "e":
    print("A letra digitada é uma vogal!")
    elif letra == "i":
    print("A letra digitada é uma vogal!")
    elif letra == "o":
    print("A letra digitada é uma vogal!")
    elif letra == "u":
    print("A letra digitada é uma vogal!")
    else:
    print("A letra digitada é uma consoante")

    Minha outra solução foi está, também utilizando o médodo upper() para que não necessário criarmos condições para letras em maiúsculo.

    ResponderExcluir
  12. Sugestão: Essa barra inclinada pra esquerda \ DEVERIA ser ensinada no tutorial antes de fazer o exercício. ;)

    ResponderExcluir