Python - (consulta) Tratamiento de cadena

   
Vista:

(consulta) Tratamiento de cadena

Publicado por Horacio (18 intervenciones) el 23/08/2015 03:48:37
Buenas tengo que hacer dos funciones >

a --> retornar una cadena con la primera letra de cada palabra en mayúsculas. Por ejemplo, si recibe
’república argentina’ debe devolver ’República Argentina’
1
2
3
4
5
6
def capitalizar(cad):
    s = ''
    palabras = cad.split()
    for palabra in palabras:
        s += palabra.capitalize() + ' '
    return s

b --> Las palabras que comiencen con la letra ’A’. Por ejemplo, si recibe ’Antes de ayer’
debe devolver ’Antes ayer’

1
2
3
4
5
6
7
def comienza_con(cad, c):
    new = ''
    palabras = cad.split()
    for palabra in palabras:
        if palabra.startswith(c) or palabra.startswith(c.upper()):
            new += palabra + ' '
    return new

en mis solucion queda con un espacio extra al final de la nueva cadena resultante, como puedo mejorarlo? gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

(consulta) Tratamiento de cadena

Publicado por xve (1230 intervenciones) el 23/08/2015 11:27:52
Prueba a aplicar strip() a los valores que devuelves...

Algo así:
1
return s.strip()

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

(consulta) Tratamiento de cadena

Publicado por Horacio (18 intervenciones) el 23/08/2015 19:36:32
gracias con el metodo que me comentas funciona tambien me di cuenta de que puedo hacer esto
1
return s[:-1]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

(consulta) Tratamiento de cadena

Publicado por xve (1230 intervenciones) el 23/08/2015 21:08:46
Si, es correcto, siempre y cuando solo sea un espacio y este en el final...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar