Extraer números con Regex y Calcular promedio


Descripción

Para probar el programa puedes usar los archivos:

Escribe un programa que busque líneas con la forma:

New Revision: 39772

Extrae el número de cada línea usando una expresión regular y el método findall(). Registra el promedio de esos números e imprímelo.

Ejemplos de ejecución

Ingresa un nombre de archivo: mbox-short.txt
39756.9259259
Ingresa un nombre de archivo: mbox.txt
38444.0323119

Solución

Mostrar solución
import re

nombre_archivo = input('Ingresa un nombre de archivo: ')

suma_numeros = 0
coincidencias = 0
with open(nombre_archivo, 'r') as archivo:
  for linea in archivo:
    numero = re.findall(r'^New Revision: (\d+)$', linea)
    if numero:
      suma_numeros += int(numero[0])
      coincidencias += 1

promedio = suma_numeros / coincidencias

print(promedio)

Probar solución en Google Colab

Fuente del ejercicio: https://es.py4e.com/html3/11-regex