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)
Fuente del ejercicio: https://es.py4e.com/html3/11-regex