Pessoal, tô fazendo um curso de Python no Coursera e um dos exercícios é assim:
"Escreva a função vogal que recebe um único caractere como parâmetro e devolve True se ele for uma vogal e False se for uma consoante.
Note que
vogal(“a”) deve devolver True
vogal(“b”) deve devolver False
vogal(“E”) deve devolver True
Os valores True e False devolvidos devem ser do tipo bool (booleanos)
Dica: Lembre-se que para passar uma vogal como parâmetro ela precisa ser um texto, ou seja, precisa estar entre aspas."
Escrevi esse código:
def vogal(z):
v = True
if z == "a":
return v
if z == "e":
return v
if z == "i":
return v
if z == "o":
return v
if z == "u":
return v
if z == "A":
return v
if z == "E":
return v
if z == "I":
return v
if z == "O":
return v
if z == "U":
return v
else:
return not v
Fui aprovado no exercício, mas gostaria de saber outras formas mais elegantes de escrever essa função. Uma dúvida é sobre o porquê de eu não ter conseguido escrever algo como:
def vogal(z):
v = True
if z == "a" or "e" or "i" or "o" or "u":
return v
else:
return not v
Não dá mesmo pra usar o ‘or’ neste caso?
Grato desde já!