Estás en:   ArielOrtiz.com > Fundamentos de programación > Conociendo la moda

Conociendo la moda

Generalidades

Esta es una actividad opcional individual que consiste de dos partes:

  1. Escribir un programa que resuelva el problema que se describe a continuación.
  2. Traer dicho programa al examen final y modificarlo a partir de unos nuevos requisitos que se darán a conocer en ese mismo momento.

Si un alumno cumple adecuadamente con ambas partes se hará acreedor a 30 puntos adicionales en la calificación del registro en la que haya salido más bajo durante el semestre.

NOTA: El programa elaborado (junto con las modificaciones solicitadas) se deberá entregar junto con los demás problemas del examen final.

Problema

En estadística, la moda es el valor que se repite con mayor frecuencia en una secuencia de datos.

Escribe un programa en Python 3.5 llamado moda.py que defina una función moda(archivo_entrada). Dicha función debe regresar una lista con la moda de una serie de palabras contenidas en un archivo de texto cuyo nombre está en la cadena archivo_entrada. Cada línea del archivo de entrada contendrá una sola palabra conformada exclusivamente por letras minúsculas del alfabeto inglés. Puedes suponer que el archivo de entrada tiene al menos una palabra.

Si la serie de palabras en el archivo de entrada es multi-modal (hay un empate entre las dos o más palabras que aparecen con mayor frecuencia) entonces la lista devuelta debe contener todas las modas en orden alfabético ascendente.

Crea los siguientes cinco archivos de entrada para probar tu programa:

Añade al programa la siguiente función main:

def main():
    print(moda('prueba1.txt'))
    print(moda('prueba2.txt'))
    print(moda('prueba3.txt'))
    print(moda('prueba4.txt'))
    print(moda('prueba5.txt'))

Al correr el programa, la salida esperada es:

['pera']
['guayaba', 'mango', 'pera']
['todopoderoso']
['a']
['balin', 'bifur', 'bofur', 'bombur', 'dori', 'dwalin', 
 'fili', 'gloin', 'kili', 'nori', 'oin', 'ori', 'thorin']