Ir para o conteúdo
Gonkali

[Resolvido] Verificar se primeira letra de uma string é vogal

Mensagens Recomendadas

Gonkali    11
Gonkali

Boa tarde,

Pretendia que o seguinte código indicasse quando a 1ª letra de uma palavra é uma vogal ou uma consoante, sei que este código deve estar uma confusão mas se me puderem ajudar agradecia imenso.

O que está a acontecer é que ele só assume o print das vogais e mesmo que o inicio da palavra seja uma consoante ele faz print "vowel"

Segue o código

original = raw_input('Enter a word:')
word = original.lower()
first = original[0]
if len(original) > 0 and original.isalpha():
if first == str("a") or str("e") or str("i") or str("o") or str("u"):
 print "vowel"
else:
print 'consonant'

Obrigado

Editado por Gonkali
GeSHi

" The quieter you become, the more you are able to hear"

"Eu adoraria mudar o mundo, mas não me deram o código-fonte."

"A arte de programar consiste na arte de organizar e dominar a complexidade."

"Qualquer um pode escrever um código que o computador entenda. Bons programadores escrevem códigos que os humanos entendam."

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
thoga31    594
thoga31

Melhora o título do tópico, sff.

Indenta bem o código.

Não podes fazer "first == str("a") or str("e") or str("i") or str("o") or str("u")". Tens de fazer "first == str("a") or first == str("b")..."

Além disso, para quê a função str?

EDIT: uma sugestão, cria uma função "isvowel" e nela usa o operador "in".

Editado por thoga31

Knowledge is free!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Gonkali    11
Gonkali

Melhora o título do tópico, sff.

Indenta bem o código.

Não podes fazer "first == str("a") or str("e") or str("i") or str("o") or str("u")". Tens de fazer "first == str("a") or first == str("b")..."

Além disso, para quê a função str?

EDIT: uma sugestão, cria uma função "isvowel" e nela usa o operador "in".

Obrigado Thoga, realmente a função str é desnecessária.

Já alterei o titulo do post, caso consideres que não é adequado podes alertar-me novamente ou se preferires podes também alterar o titulo.

Abraço

Experimenta fazer algo tipo: if first in "aeiou"

http://www.tutorialspoint.com/python/python_basic_operators.htm

Obrigado pela dica ;)

Abraço


" The quieter you become, the more you are able to hear"

"Eu adoraria mudar o mundo, mas não me deram o código-fonte."

"A arte de programar consiste na arte de organizar e dominar a complexidade."

"Qualquer um pode escrever um código que o computador entenda. Bons programadores escrevem códigos que os humanos entendam."

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
icemonster2    1
icemonster2

Secalhar devias por um titulo mais sugestivo como "Verificar se a primeira letra de uma str é vogal ou não" ou algo do tipo para quando alguém ter a mesma duvida que tu, por isso no motor de busca do site ou do google e apareçer este tópico.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
thoga31    594
thoga31

Já alterei o titulo do post, caso consideres que não é adequado podes alertar-me novamente ou se preferires podes também alterar o titulo.

Pois, o título ficou na mesma: "desinformativo".

Vê o título que eu dei para veres o que é um bom título - é que todos sabem que é em Python, e todos sabem que é uma dúvida: a questão é "qual dúvida?", e o título deverá dar uma ideia disso.

Quando escrevias composições em Língua Portuguesa, davas que título? "Composição de Português"? Não! Era um título relacionado com o tema que abordavas. Aqui é a mesma coisa.


Knowledge is free!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.