elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  (PYTHON 3.5) Else no funcona
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (PYTHON 3.5) Else no funcona  (Leído 1,709 veces)
BigKaz

Desconectado Desconectado

Mensajes: 94


Ver Perfil
(PYTHON 3.5) Else no funcona
« en: 13 Diciembre 2016, 22:25 pm »

Código
  1. #!usr/bin/env python
  2. def vocales(string):
  3. if "A" or "a" or "E" or "e" or "I" or "i" or "O" or "o" or "U" or "u" in string:
  4. nvocalesami = (string.count("a"))
  5. nvocalesama = (string.count("A"))
  6. nvocalesemi = (string.count("e"))
  7. nvocalesema = (string.count("E"))
  8. nvocalesimi = (string.count("i"))
  9. nvocalesima = (string.count("I"))
  10. nvocalesomi = (string.count("o"))
  11. nvocalesoma = (string.count("O"))
  12. nvocalesumi = (string.count("u"))
  13. nvocalesuma = (string.count("U"))
  14. part1 = (nvocalesami + nvocalesama + nvocalesemi + nvocalesema + nvocalesimi + nvocalesima)
  15. part2 = (nvocalesomi + nvocalesoma + nvocalesumi + nvocalesuma)
  16. todo = (part1 + part2)
  17. return ("Hay",todo,"vocales en la frase")
  18. else:
  19. return("No hay vocales en la frase")
  20.  

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

Salida
Código
  1. vocales(r)
  2. Hay 0 vocales en la frase
-----------------------
Porque no sale "No hay vocales en la frase"?


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: (PYTHON 3.5) Else no funcona
« Respuesta #1 en: 13 Diciembre 2016, 22:39 pm »

el  if está mal...

colocaré parentesis para que entiendas el alcance de cada operador


Código
  1. 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...


En línea

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

Desconectado Desconectado

Mensajes: 120


Ver Perfil WWW
Re: (PYTHON 3.5) Else no funcona
« Respuesta #2 en: 14 Diciembre 2016, 20:44 pm »

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
  1. vocales = "AEIOUaeiou"
  2. string = "Hola"
  3.  
  4. a = [x for x in vocales if x in string]
  5.  
  6. print(a)

Saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines