O Exercício é o seguinte:
*****Faca um Programa que verifique se uma letra digitada é vogal ou consoante***
OBS: Porém, eu não quero apenas informar se é vogal ou consoante,
quero também pedir ao usuário, caso ele NÃO coloque um caractere no formato (str), para ele colocar um LETRA,
EX: Se o usuário colocar um Símbolo ou um número, vai apresentar uma mensagem pedindo que ele digite uma letra,
Visto que não é possivel informar se um número/simbulo é Vogal ou Consoante.
____________________________________________________________________________
O PROBLEMA:
Logo de inicio, coloquei a função While(infinito caso não se coloque uma (str)), para verificar, pois se NÃO for uma (srt), vai apresentar uma
mensagem de erro "por favor, digite uma letra".
Mas não esta funcionando :(
Quando coloco um número, o programa lê como se fosse uma vogal('according' em inglês rs)
Por favor, quem puder me dar um help, muito obrigado.
Desde já agradeço pela atenção.
_______________________________________________________
SEGUE O SCRIPT:
__author__ = 'italo'
# coding: latin-1
# Faca um Programa que verifique se uma letra digitada e vogal ou consoante.
print('Type a letter:')
letter = input()
while type(letter) is not str:
print('Please, Type a Letter!!! "' + str(letter) + '" is not a Letter')
letter = input()
if letter == "a" or letter == "e" or letter == "i" or letter == "o" or letter == "u" :
print('The letter "' + str(letter) + '" is a vowel.')
else:
print('The letter "' + str(letter) + '" is a according.')
print("End")
Ola, seja bem vindo ao grupo Python-Brasil.
Há várias formas de resolver isso, você poderia resolver com a função isalpha() uma string, com expressões regulares e etc.
Veja como ficaria com isalpha ( https://docs.python.org/3/library/stdtypes.html#str.isalpha )
print('Type a letter:')
letter = str(input())
while not letter.isalpha():
print('Please, Type a Letter!!! "{}" is not a Letter'.format(letter))
letter = str(input())
# voce pode substuir isto # if letter == "a" or letter == "e" or letter == "i" or letter == "o" or letter == "u" : # por:
if letter in "aeiou" :
# print('The letter "' + str(letter) + '" is a vowel.')
# esse tipo de concatenacao nao eh boa pratica em Python, use Python String Format # aqui um bom guia https://pyformat.info/
print('The letter "{}" is a vowel.'.format(letter))
else:
print('The letter "{}" is a according.'.format(letter))
print("End")
Dito isto, aqui nós possuímos algumas regras que ajudam a manter essa lista útil e agradável para os participantes:
Antes de mandar a sua primeira pergunta, pedimos para que leia o texto:
http://wiki.python.org.br/AntesDePerguntar
http://wiki.python.org.br/ComoFazerPerguntasInteligentes <-Leitura Obrigatória
http://aprenda-python.blogspot.com.br/2014/02/como-perguntar.html
Seja SEMPRE cordial e respeitoso ao fazer e ao responder perguntas.
Não publique, indique qualquer coisa pirata, isso inclui software, livros, musicas, videos etc.
Nós não fazemos de forma alguma trabalhos de escola/faculdade para você. O principal interessado em aprender é exclusivamente você. Então por consequência, é você que deverá faze-lo. Os Acertos e principalmente os Erros são uma parte extremamente importante do processo de aprendizagem.
Sempre antes de perguntar:
Google e o DuckDuckGo são seus amigos, pesquise sua duvida em português e em inglês.
Ao fazer uma pergunta, mostre o que você já tentou, quais foram os erros que estão sendo apresentados.
Se for mandar muito código, coloque no https://gist.github.com/ e mande o link, ou coloque seu projeto inteiro num repositório código publico, como o Github.com, Bitbucket.com, Gitlab.com e mande o link
Há algumas Perguntas recorrentes (pode se pesquisar na lista ou ver essas respostas):
Qual é a melhor IDE http://wiki.python.org.br/wiki/IdesPython
Qual é o melhor framework web para python http://wiki.python.org.br/PythonParaWeb
Python é melhor do que a linguagem X Esse é provavelmente o segundo pior lugar para se perguntar isso, o pior é o fórum da linguagem X
E para quem esta começando nós temos essas duas paginas muito boas com informações: http://wiki.python.org.br/InicieSee http://wiki.python.org.br/AprendaProgramar
Bons estudos. :-D
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.