buscar elemento más frecuente en lista y nº de repeticiones
Publicado por Cecilia (1 intervención) el 07/06/2018 17:20:36
Hola!
necesito definir una función color_frecuente(lista) para que en una lista de colores repetidos calcule cuál es el que más se repite y en qué número de veces. He conseguido crear un código que me lo calcula siempre que no haya varios colores repetidos en el mismo número máximo de veces. ¿cómo podría arreglar el código para solucionar estos casos y establecer la siguiente prioridad "azul, rojo, verde, amarillo"?
from statistics import mode
def color(lista):
return (mode(lista))
def numero (lista):
if mode(lista) == "rojo":
return (lista.count("rojo"))
elif mode(lista) == "azul":
return (lista.count("azul"))
elif mode(lista) == "verde":
return (lista.count("verde"))
elif mode(lista) == "amarillo":
return (lista.count("amarillo"))
def color_frecuente (lista):
x = str(color(lista))
y = numero(lista)
return (x,y)
print(color_frecuente(["azul", "azul", "rojo", "amarillo", "azul"]))
En este caso me da el resultado correcto ("azul",3).
Espero que podáis ayudarme, es el único ejercicio que me queda para poder aprobar un curso que termina este sábado!!
Gracias!!!
necesito definir una función color_frecuente(lista) para que en una lista de colores repetidos calcule cuál es el que más se repite y en qué número de veces. He conseguido crear un código que me lo calcula siempre que no haya varios colores repetidos en el mismo número máximo de veces. ¿cómo podría arreglar el código para solucionar estos casos y establecer la siguiente prioridad "azul, rojo, verde, amarillo"?
from statistics import mode
def color(lista):
return (mode(lista))
def numero (lista):
if mode(lista) == "rojo":
return (lista.count("rojo"))
elif mode(lista) == "azul":
return (lista.count("azul"))
elif mode(lista) == "verde":
return (lista.count("verde"))
elif mode(lista) == "amarillo":
return (lista.count("amarillo"))
def color_frecuente (lista):
x = str(color(lista))
y = numero(lista)
return (x,y)
print(color_frecuente(["azul", "azul", "rojo", "amarillo", "azul"]))
En este caso me da el resultado correcto ("azul",3).
Espero que podáis ayudarme, es el único ejercicio que me queda para poder aprobar un curso que termina este sábado!!
Gracias!!!
Valora esta pregunta


0