Diccionario de Días de la Semana de Correos


Descripción

Para probar el programa puedes usar los archivos:

  • www.py4e.com/code3/mbox-short.txt
  • www.py4e.com/code3/mbox.txt

Escribe un programa que clasifica cada mensaje de correo dependiendo del día de la semana en que se recibió.

Para hacer esto busca las líneas que comienzan con “From” (ignorando las que empiezan con “From:”, es decir que tienen el símbolo : después de “From”), la tercer palabra en estas líneas es el día de la semana.

From stephen.marquard@uct.ac.za Sat Jan  5 09:14:16 2008

Usa el nombre del día de la semana como clave del diccionario. El valor del diccionario será el contador para cada uno de los días de la semana.

Al final del programa imprime los contenidos de tu diccionario (el orden no importa).

Ejemplo de ejecución

> python dow.py
Ingresa un nombre de archivo: mbox-short.txt
{'Fri': 20, 'Thu': 6, 'Sat': 1}

Solución

Mostrar solución
nombre_archivo = input('Ingresa un nombre de archivo: ')

dic_dias = {}

with open(nombre_archivo, 'r') as archivo:
  for linea in archivo:
    if linea.startswith('From '):
      dia = linea.split(' ')[2]
      dic_dias[dia] = dic_dias.get(dia, 0) + 1

print(str(dic_dias))

Probar solución en Google Colab

Fuente del ejercicio: https://es.py4e.com/html3/09-dictionaries