Python - Porque no me ordena

 
Vista:
Imágen de perfil de Dennis

Porque no me ordena

Publicado por Dennis (20 intervenciones) el 24/03/2023 15:42:33
Tengo que crear una funcion que dado una cadena y una subcadena:
1- Diga si la subcadena existe dentro de la cadena
2- Devuelva la que sea anterior en orden alfabético, es decir, en caso que me den 'hola Mundo' y 'a', se debe debolver 'a' porque esta es primero que 'hol'

Nota: No ordena ni con sorted() ni con sort()

El problema es que no me ordena

Funcion
1
2
3
4
5
6
7
def buscarSubcadena(frase, subfrase):
    if subfrase in frase:
        lista = [frase[0:frase.index(subfrase)], subfrase]
        lista.sort()
        return True, lista[0]
    else:
        return 'No existe coincidencias', None

1
verificar, orden = buscarSubcadena("Hola  Mundo", "a")
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

Porque no me ordena

Publicado por antonio (65 intervenciones) el 24/03/2023 16:25:39
Hola buenas la equivocación es que no has tenido en cuenta la mayúscula de Hola y sort en python ordena por la tabla ascii por lo que primero son las mayúsculas y después la minúsculas así que antes de ordenar pasa las cadenas minúsculas

1
2
3
4
5
6
7
8
9
10
11
12
def buscarSubcadena(frase, subfrase):
    frase =frase.lower()
    subfrase= subfrase.lower()
    if subfrase in frase:
        lista = [frase[0:frase.index(subfrase)], subfrase]
        lista.sort()
        return True,lista[0]
    else:
        return 'No existe coincidencias', None
 
verificar,orden = buscarSubcadena("Hola  Mundo", "a")
print(orden)
orden de ascii
Captura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Dennis

Porque no me ordena

Publicado por Dennis (20 intervenciones) el 24/03/2023 16:40:09
Wow!!! muchísimas gracias, no sabía eso
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