Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: elpedroop en 31 Enero 2018, 06:02 am



Título: Ayuda programa python
Publicado por: elpedroop en 31 Enero 2018, 06:02 am
Hola he estado tomando clases de Python y apenas aprendí los métodos para las cadenas, a si que decidí crear un pequeño programa con esos métodos.
El programa si corre , solo que cuando me muestra el resultado de como queda la cadena , me manda un "none" seguido del resultado.

Codigo.

Código
  1. [/#Operaciones
  2. def longi(palabra):
  3. print len (palabra)
  4. def contar(letra,i = 0,f = 0):
  5. print cad.count(letra,i,f)      
  6. def minus(palabra):
  7. print palabra.lower()  
  8. def mayus(palabra):
  9. print palabra.upper()
  10. def remplazar(letra,nuevaletra,concurrencia = 0):
  11. print cad.replace(letra,nueva,concurrencia)      
  12. def separar(letra,concurrencia):
  13. print cad.split(letra,concurrencia)
  14. def encontrar(letra,concurrencia = 0):
  15. print cad.find(letra,concurrencia)
  16. def encontrarreves(letra,concurrencia = 0):
  17. print cad.rfind(letra,concurrencia)
  18. def puntuar(separador):
  19. print separador.join(separador)
  20.  
  21. cad = raw_input('Ingresa tu palabra para divertirte!!!\n')
  22.  
  23. print """
  24. Teclee la opcion que quiera:
  25.  
  26. (1) Ver longitud de su palabra
  27. (2) Ver cuantos caracteres hay del mismo tipo
  28. (3) Mostrar tu palabra en minuculas
  29. (4) Mostrar tu palbra en MAYUSCULAS
  30. (5) Remplazar alguna letra
  31. (6) Hacer una separacion de tu palabra
  32. (7) Saber en que posicion esta alguna letra
  33. (8) Saber en que posicion esta ujna letra en orden adverso
  34. (9) Separar tu puntuacion con el signo que quieras
  35.  
  36. """
  37.  
  38. opcion = input('>')
  39. if opcion == 1:
  40.    print longi(cad)
  41. elif opcion == 2:
  42.    a = raw_input('Que letra quieres que te cuente\t')
  43.    b = input('En donde quieres que empieze\t')
  44.    c = input('Donde quieres que termine\t')
  45.    print contar(a,b,c)
  46. elif opcion == 3:
  47.    print minus(cad)
  48.  
  49. elif opcion == 4:
  50.    print mayus(cad)
  51.  
  52. code]
  53.  
  54. Ayúdenme a quitar ese feo "none"....
  55. Hoy por mi mañana por ustedes :)
  56. [img][https://imageshack.com/a/img922/2968/tV7iZq.png
  57.  
  58. img]
  59.  
  60. Ahi esta la imagen , de el error si gustan acceder al link C:
  61.  
  62. Gracias amigos , de antemano.
  63.  
  64.  


Título: Re: Ayuda programa python
Publicado por: animanegra en 31 Enero 2018, 08:39 am
Decidete, o bien imprimes lo k te devuelve la function o imprimes dentro de la funcion y solo haces la llamada a cada function.
No se lo k kieres hacer exactamente, si la idea es tener una function k te drvuelva algo y imprimes lo k t devuelva, deberias quitar el print de debtro de la funcion y cambiarlo por in print
Si deseas k sea la funcion quien imprima el resultado quita el printf antes de llamar a la funcion y simplemente llama a ESA funcion.
Ahora mismo lo k pass es que estas imprimiendo dentro de la funcion l resiltado, las funciones no tienen return y estas imprimiendo con otro printf el resultado de ESA funcion. Como no tienes return imprimes none