(PYTHON 3.5) Else no funcona

Iniciado por BigKaz, 13 Diciembre 2016, 22:25 PM

0 Miembros y 1 Visitante están viendo este tema.

BigKaz

Código (python) [Seleccionar]
#!usr/bin/env python
def vocales(string):
if "A" or "a" or "E" or "e" or "I" or "i" or "O" or "o" or "U" or "u" in string:
nvocalesami = (string.count("a"))
nvocalesama = (string.count("A"))
nvocalesemi = (string.count("e"))
nvocalesema = (string.count("E"))
nvocalesimi = (string.count("i"))
nvocalesima = (string.count("I"))
nvocalesomi = (string.count("o"))
nvocalesoma = (string.count("O"))
nvocalesumi = (string.count("u"))
nvocalesuma = (string.count("U"))
part1 = (nvocalesami + nvocalesama + nvocalesemi + nvocalesema + nvocalesimi + nvocalesima)
part2 = (nvocalesomi + nvocalesoma + nvocalesumi + nvocalesuma)
todo = (part1 + part2)
return ("Hay",todo,"vocales en la frase")
else:
return("No hay vocales en la frase")


Tengo un problema con este codigo al utilizar la funcion vocales con un argumento sin vocales por ejemplo:

Salida
Código (python) [Seleccionar]
vocales(r)
Hay 0 vocales en la frase

-----------------------
Porque no sale "No hay vocales en la frase"?

engel lex

el  if está mal...

colocaré parentesis para que entiendas el alcance de cada operador


Código (python) [Seleccionar]
if( ("A") or ("a") or ("E") or ("e") or ("I") or ("i") or ("O") or ("o") or ("U") or ("u" in string) ):


siempre será cierto porque todo diferente a 0 es True...
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Once

Hola, como dice @engel_lex el condicional está muy mal, y no solo eso, sino que si intentas seguir con esa lógita, el condicional te quedará MUY grande, así que te recomiendo otra opción, listas por conprensión. (Hay muchas otras formas de hacerlo). Te dejo un ejemplo:

Código (python) [Seleccionar]
vocales = "AEIOUaeiou"
string = "Hola"

a = [x for x in vocales if x in string]

print(a)


Saludos!