Python - Función para quitar una letra a una cadena

 
Vista:
sin imagen de perfil

Función para quitar una letra a una cadena

Publicado por C (17 intervenciones) el 02/10/2014 17:58:41
Buenas.
Tengo que hacer el siguiente ejericio:

Definir una función que se llame quitarRepeticiones que tome dos parámetros, una cadena y una letra, y devuelva otra cadena igual a la anterior pero sin las repeticiones de esa letra. Ejemplo: "mate cocido" y "c" ==> "mate coido".

No tengo idea de cómo hacerlo. Estuve viendo que hay funciones que sirven para manipular cadenas, pero esto está en la práctica de funciones y se supone que lo haga utilizando los "recursos básicos".
Gracias por la ayuda.
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
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Función para quitar una letra a una cadena

Publicado por xve (1646 intervenciones) el 02/10/2014 19:36:13
Hola, es tan sencillo como utilizar la instrucción replace()...

1
2
3
4
def quitarRepeticiones(cadena,letra):
	return cadena.replace(letra,"")
 
print quitarRepeticiones("mate cocido","c")
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
sin imagen de perfil

Función para quitar una letra a una cadena

Publicado por C (17 intervenciones) el 02/10/2014 20:41:45
en ese caso no me sacaría todas las "c"? se supone que sólo saca las que se repiten después de la primera

Edit: Ah, ya lo tengo. defino una función que detecte cuando se repite la letra y reemplace las siguientes. Lo voy a probar.
Gracias :D
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
sin imagen de perfil

Función para quitar una letra a una cadena

Publicado por C (17 intervenciones) el 02/10/2014 23:38:10
Por si a alguien le interesa, aca está la forma en que lo resolví:

1
2
3
4
5
6
def cantidadLetras(unaCadena,unaLetra):
    letra=0
    for char in unaCadena:
        if(char==unaLetra):
            letra=letra+1
    return(letra)

1
2
3
4
5
6
7
8
9
def quitarRepeticiones(unaCadena,unaLetra):
    cadena=""
    for char in unaCadena:
        if(char!=unaLetra):
            cadena=cadena+char
        else:
            if(cantidadLetras(cadena,unaLetra)!=1):
                cadena=cadena+char
    return(cadena)

1
2
3
x=input("Ingrese cadena")
y=input("Ingrese letra")
print(quitarRepeticiones(x,y))
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
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Función para quitar una letra a una cadena

Publicado por xve (1646 intervenciones) el 03/10/2014 07:28:10
Gracias por compartirlo!!! no me había dado cuenta de que únicamente había que eliminar a partir de la segunda repetición.
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