Ayuda programa python

Iniciado por elpedroop, 31 Enero 2018, 06:02 AM

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

elpedroop

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 (python) [Seleccionar]
[/#Operaciones
def longi(palabra):
print len (palabra)
def contar(letra,i = 0,f = 0):
print cad.count(letra,i,f)     
def minus(palabra):
print palabra.lower() 
def mayus(palabra):
print palabra.upper()
def remplazar(letra,nuevaletra,concurrencia = 0):
print cad.replace(letra,nueva,concurrencia)     
def separar(letra,concurrencia):
print cad.split(letra,concurrencia)
def encontrar(letra,concurrencia = 0):
print cad.find(letra,concurrencia)
def encontrarreves(letra,concurrencia = 0):
print cad.rfind(letra,concurrencia)
def puntuar(separador):
print separador.join(separador)

cad = raw_input('Ingresa tu palabra para divertirte!!!\n')

print """
Teclee la opcion que quiera:

(1) Ver longitud de su palabra
(2) Ver cuantos caracteres hay del mismo tipo
(3) Mostrar tu palabra en minuculas
(4) Mostrar tu palbra en MAYUSCULAS
(5) Remplazar alguna letra
(6) Hacer una separacion de tu palabra
(7) Saber en que posicion esta alguna letra
(8) Saber en que posicion esta ujna letra en orden adverso
(9) Separar tu puntuacion con el signo que quieras

"""

opcion = input('>')
if opcion == 1:
    print longi(cad)
elif opcion == 2:
    a = raw_input('Que letra quieres que te cuente\t')
    b = input('En donde quieres que empieze\t')
    c = input('Donde quieres que termine\t')
    print contar(a,b,c)
elif opcion == 3:
    print minus(cad)

elif opcion == 4:
    print mayus(cad)

code]

Ayúdenme a quitar ese feo "none"....
Hoy por mi mañana por ustedes :)
[img][https://imageshack.com/a/img922/2968/tV7iZq.png

img]

Ahi esta la imagen , de el error si gustan acceder al link C:

Gracias amigos , de antemano.


animanegra

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

42
No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.