1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
def leer_numeros_desde_archivo(nombre_archivo): """Lee números desde un archivo y devuelve una lista de números.""" numeros = [] try: with open(nombre_archivo, 'r') as archivo: for linea in archivo: try: numero = float(linea.strip()) numeros.append(numero) except ValueError: print(f"Advertencia: '{linea.strip()}' no es un número válido y será ignorado.") except FileNotFoundError: print(f"Error: El archivo '{nombre_archivo}' no se encontró.") return numeros def encontrar_menor_valor(lista_numeros): """Devuelve el menor valor de una lista de números.""" if not lista_numeros: return None return min(lista_numeros) def main(): nombre_archivo = 'numeros.txt' numeros = leer_numeros_desde_archivo(nombre_archivo) if numeros: menor_valor = encontrar_menor_valor(numeros) print(f"El menor valor en el archivo es: {menor_valor}") else: print("No se encontraron números válidos en el archivo.") if __name__ == "__main__": main() |
Explicación del código
leer_numeros_desde_archivo(nombre_archivo)
:- Abre el archivo en modo lectura (
'r'
). - Lee cada línea del archivo, la limpia de espacios y la convierte en un número flotante.
- Agrega cada número válido a una lista. Si encuentra un valor no convertible a número, lo ignora y muestra una advertencia.
- Si el archivo no se encuentra, muestra un mensaje de error.
- Abre el archivo en modo lectura (
encontrar_menor_valor(lista_numeros)
:- Verifica si la lista está vacía. Si no lo está, utiliza la función incorporada
min()
para encontrar el menor valor y lo devuelve.
- Verifica si la lista está vacía. Si no lo está, utiliza la función incorporada
main()
:- Define el nombre del archivo.
- Llama a
leer_numeros_desde_archivo()
para obtener los números. - Si se encuentran números válidos, llama a
encontrar_menor_valor()
para obtener y mostrar el menor valor. - Si no se encuentran números, muestra un mensaje indicando que no se encontraron números válidos.
- Bloque
if __name__ == "__main__":
:- Asegura que
main()
se ejecute solo si el script es ejecutado directamente, no cuando se importa como módulo en otro script.
- Asegura que