JPablos

Imprimir a un archivo. Simple Python

Mar 14th, 2024 (edited)
768
0
Never
2
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.61 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. """
  3. Creado Sun Mar  2 21:26:04 2025
  4. Editado
  5. @autor: JP
  6.  
  7. Hallar los valores mínimo, máximo y el valor medio de una serie.
  8. ================================================================
  9. Crear un archivo de texto llamado <salida.txt>
  10. En este archivo de texto vamos a escribir el resultado
  11. de los cálculos realizados en forma de tabla.
  12. """
  13.  
  14. import os
  15.  
  16. # Serie de datos de ejemplo
  17. serie = [
  18.     32.70,
  19.     32.80,
  20.     32.40,
  21.     32.10,
  22.     32.70,
  23.     32.10,
  24.     30.60,
  25.     33.50,
  26.     33.10,
  27.     31.90,
  28.     32.90,
  29. ]
  30.  
  31. # Calcular V_MIN, V_MAX y V_MEDIO
  32. V_MIN = min(serie)
  33. V_MAX = max(serie)
  34. V_MEDIO = round(sum(serie) / len(serie), 2)
  35. longitud_serie = len(serie)
  36.  
  37. # Obtener tabla de datos
  38. tabla = [
  39.     ("Valor mínimo:", V_MIN),
  40.     ("Valor máximo:", V_MAX),
  41.     ("Valor medio:", V_MEDIO),
  42.     ("Elementos de serie:", longitud_serie),
  43. ]
  44.  
  45. # Obtener la ruta completa del archivo
  46. ruta_archivo = os.path.join(
  47.     os.path.expanduser("~"), "ruta", "al", "archivo", "salida.txt"
  48. )
  49.  
  50. # Abrir el archivo en modo de escritura (append)
  51. with open(ruta_archivo, "a", encoding="utf-8") as f:
  52.     # Imprimir el título, la serie y la tabla
  53.     print(
  54.         "Hallar los valores mínimo, máximo y el valor medio de la serie\n\n",
  55.         f"Serie: {', '.join(map(str, serie))}\n\n",  # Formatear la serie para mejor legibilidad
  56.         "Tabla de valores:\n",
  57.         file=f,
  58.     )
  59.  
  60.     # Imprimir la tabla de valores
  61.     for fila in tabla:
  62.         print(f"{fila[0]:<20} {fila[1]:<10}", file=f)
  63.  
  64.     # Agregar una línea en blanco al final para separar resultados
  65.     print(file=f)
Advertisement
Comments
  • JPablos
    1 year
    Comment was deleted
  • JPablos
    273 days
    # Python 1.21 KB | 0 0
    1. Optimización
    2.  
    3. import os
    4. import numpy as np --> Eliminado. Se da preferencia a las funciones integradas de Python [min(), max(), y sum()/len()] que son suficientes para este propósito y hacen más ligero el código.
    5.  
    6. ruta_archivo = os.path.expanduser("~/ruta/al/archivo/salida.txt") --> Modificada
    7.  
    8. En el código optimizado, se usa os.path.join:
    9. ruta_archivo = os.path.join(os.path.expanduser("~"), "ruta", "al", "archivo", "salida.txt")
    10.  
    11. Esto ofrece compatibilidad entre sistemas operativos --os.path.join usa automáticamente el separador correcto (/ o \) según el sistema operativo en el que se ejecute el código. Reduce el riesgo de errores como olvidar una barra o agregar una de más--.
    12.  
    13. Por ejemplo, queremos que el archivo "salida.txt" se guarde en la capeta "Pruebas" ubicada en mis documentos:
    14. ruta_archivo = os.path.join(os.path.expanduser("~"), "Documentos", "Pruebas", "salida.txt")
    15. La ruta se escribe internamente, esto es útil sí el código se va a ejecutar en diferentes entornos (Windows, Linux, macOS).
    16.  
    17. Se utilizaron f-strings para formatear la salida, lo que mejora la legibilidad.
    18. El archivo se sigue abriendo en modo de apéndice, pero si deseas sobrescribirlo, se puede cambiar "a" por "w".
Add Comment
Please, Sign In to add comment