Python - problema con este codigo

 
Vista:
Imágen de perfil de zahir

problema con este codigo

Publicado por zahir (5 intervenciones) el 28/12/2021 03:41:57
from collections import Counter

def letra_mas_comun(cadena:str)->str:
lista_mas_comunes = []
mas_comun = None

cadena = cadena.replace(" ", "")
cadena = cadena.replace(".", "")
cadena = cadena.replace(",", "")


conteos = Counter(cadena)
numero_mas_frecuente = max(conteos.values())


for llave, valor in conteos.items():
if valor == numero_mas_frecuente:
lista_mas_comunes.append(llave)
lista_mas_comunes = sorted(lista_mas_comunes)

if len(lista_mas_comunes) > 1:
mas_comun = lista_mas_comunes[1]
else:
mas_comun = lista_mas_comunes[0]

return mas_comun


Caso 1
La letra más común fue identificada correctamente
-----------------------
Caso 2
La letra más común fue identificada correctamente
-----------------------
Caso 3
Su programa falló cuando se usaron estas entradas:
cadena = ABCDEFGH
Su programa respondió: B
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 Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

problema con este codigo

Publicado por Francisco Javier (313 intervenciones) el 29/12/2021 10:05:56
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from collections import Counter
 
def letra_mas_comun(cadena):
    lista_mas_comunes = []
    mas_comun = None
    cadena=cadena.lower()
    cadena = cadena.replace(" ", "")
    cadena = cadena.replace(".", "")
    cadena = cadena.replace(",", "")
    conteos = Counter(cadena)
    numero_mas_frecuente = max(conteos.values())
    for llave, valor in conteos.items():
        if valor == numero_mas_frecuente:
            lista_mas_comunes.append(llave)
            lista_mas_comunes = sorted(lista_mas_comunes)
 
    mas_comun = lista_mas_comunes[0]
    return mas_comun
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 Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

problema con este codigo

Publicado por Francisco Javier (313 intervenciones) el 29/12/2021 10:09:19
si sólo quieres poner el que mas se repite sólo vale con poner el primero de la lista, por el contrario si quieres poner sólo los que se repitan mas de una vez sería diferente ya me dices, pero obviamente si pones abcdefgh y todo se repiten una sola vez y la lista es mayo a 1 elemnto devuelbe [1] que es b. por cierto he incluido un lower() para evitar que te introduzcan un string mezclando mayúsculas y minúsculas. ya me cuentas
saludos
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 zahir

problema con este codigo

Publicado por zahir (5 intervenciones) el 29/12/2021 18:09:44
muchas gracias por la ayuda.
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