Ficheros - Soluciones (1)

Se ofrecen a continuación unas posibles soluciones de los ejercicios Ficheros (1).

A. ¡Hola, mundo!, sin estilo

Ficheros (1) - A-1

Una posible solución es la siguiente:

import webbrowser


def main():
    ruta = "ficheros_1_1.html"

    with open(ruta, mode="w", encoding="utf-8") as fichero:
        print("<p>Hola, mundo!</p>", file=fichero)

    webbrowser.open(ruta)


if __name__ == "__main__":
    main()

Ficheros (1) - A-2

Una posible solución es la siguiente:

import webbrowser


def main():
    ruta = "ficheros_1_2.html"

    with open(ruta, mode="w", encoding="utf-8") as fichero:
        print("<html>", file=fichero)
        print("<head>", file=fichero)
        print('  <meta charset="utf-8">', file=fichero)
        print("</head>", file=fichero)
        print("", file=fichero)
        print("<body>", file=fichero)
        print("  <p>¡Hola, mundo!</p>", file=fichero)
        print("</body>", file=fichero)
        print("</html>", file=fichero)

    webbrowser.open(ruta)


if __name__ == "__main__":
    main()

Ficheros (1) - A-3

Una posible solución es la siguiente:

import webbrowser


def main():
    ruta = "ficheros_1_3.html"

    with open(ruta, mode="w", encoding="utf-8") as fichero:
        print("<!DOCTYPE html>", file=fichero)
        print('<html lang="es">', file=fichero)
        print("<head>", file=fichero)
        print('  <meta charset="utf-8">', file=fichero)
        print("  <title>Ficheros (1) A-3</title>", file=fichero)
        print(
            '  <meta name="viewport" content="width=device-width, initial-scale=1.0">',
            file=fichero,
        )
        print("</head>", file=fichero)
        print("", file=fichero)
        print("<body>", file=fichero)
        print("  <p>¡Hola, mundo!</p>", file=fichero)
        print("</body>", file=fichero)
        print("</html>", file=fichero)

    webbrowser.open(ruta)


if __name__ == "__main__":
    main()

B. ¡Hola, mundo!, con estilo

Ficheros (1) - B-1

Una posible solución es la siguiente:

import webbrowser
import random


def main():
    ruta = "ficheros_1_b_1.html"

    with open(ruta, mode="w", encoding="utf-8") as fichero:
        color = random.randrange(0, 361)

        print("<!DOCTYPE html>", file=fichero)
        print('<html lang="es">', file=fichero)
        print("<head>", file=fichero)
        print('  <meta charset="utf-8">', file=fichero)
        print("  <title>Ficheros (1) - B-1</title>", file=fichero)
        print(
            '  <meta name="viewport" content="width=device-width, initial-scale=1.0">',
            file=fichero,
        )
        print("</head>", file=fichero)
        print("", file=fichero)
        print(f'<body style="background-color: hsl({color}, 100%, 50%)">', file=fichero)
        print("  <p>¡Hola, mundo!</p>", file=fichero)
        print("</body>", file=fichero)
        print("</html>", file=fichero)

    webbrowser.open(ruta)


if __name__ == "__main__":
    main()

Ficheros (1) - B-2

Una posible solución es la siguiente:

import webbrowser
import random


def main():
    ruta = "ficheros_1_b_2.html"

    with open(ruta, mode="w", encoding="utf-8") as fichero:
        color = random.randrange(0, 361)
        tamanyo = random.randrange(200, 801, 100)

        print("<!DOCTYPE html>", file=fichero)
        print('<html lang="es">', file=fichero)
        print("<head>", file=fichero)
        print('  <meta charset="utf-8">', file=fichero)
        print("  <title>Ficheros (1) - B-2</title>", file=fichero)
        print(
            '  <meta name="viewport" content="width=device-width, initial-scale=1.0">',
            file=fichero,
        )
        print("</head>", file=fichero)
        print("", file=fichero)
        print(f'<body style="background-color: hsl({color}, 100%, 50%)">', file=fichero)
        print(f'  <p style="font-size: {tamanyo}%">¡Hola, mundo!</p>', file=fichero)
        print("</body>", file=fichero)
        print("</html>", file=fichero)

    webbrowser.open(ruta)


if __name__ == "__main__":
    main()

Ficheros (1) - B-3

Una posible solución es la siguiente:

import webbrowser
import random


def main():

    ruta = "ficheros_1_b_3.html"

    with open(ruta, mode="w", encoding="utf-8") as fichero:
        color = random.randrange(0, 361)
        tamanyo = random.randrange(200, 801, 100)
        fuente = random.choice(["serif", "sans-serif", "monospace", "cursive"])

        print("<!DOCTYPE html>", file=fichero)
        print('<html lang="es">', file=fichero)
        print("<head>", file=fichero)
        print('  <meta charset="utf-8">', file=fichero)
        print("  <title>Ficheros (1) - B-3</title>", file=fichero)
        print(
            '  <meta name="viewport" content="width=device-width, initial-scale=1.0">',
            file=fichero,
        )
        print("</head>", file=fichero)
        print("", file=fichero)
        print(f'<body style="background-color: hsl({color}, 100%, 50%)">', file=fichero)
        print(
            f'  <p style="font-family: {fuente}; font-size: {tamanyo}%">¡Hola, mundo!</p>',
            file=fichero,
        )
        print("</body>", file=fichero)
        print("</html>", file=fichero)

    webbrowser.open(ruta)


if __name__ == "__main__":
    main()

Ficheros (1) - B-4

Una posible solución es la siguiente:

import webbrowser
import random


def main():
    ruta_css = "ficheros_1_b_4.css"

    with open(ruta_css, mode="w", encoding="utf-8") as fichero:
        color = random.randrange(0, 361)
        tamanyo = random.randrange(200, 801, 100)
        fuente = random.choice(["serif", "sans-serif", "monospace", "cursive"])

        print("body {", file=fichero)
        print(f"  background-color: hsl({color}, 100%, 50%);", file=fichero)
        print("}", file=fichero)
        print("", file=fichero)
        print("p {", file=fichero)
        print(f"  font-family: {fuente};", file=fichero)
        print(f"  font-size: {tamanyo}%;", file=fichero)
        print("}", file=fichero)

    ruta_html = "ficheros_1_b_4.html"

    with open(ruta_html, mode="w", encoding="utf-8") as fichero:
        print("<!DOCTYPE html>", file=fichero)
        print('<html lang="es">', file=fichero)
        print("<head>", file=fichero)
        print('  <meta charset="utf-8">', file=fichero)
        print("  <title>Ficheros (1) - B-4</title>", file=fichero)
        print(
            '  <meta name="viewport" content="width=device-width, initial-scale=1.0">',
            file=fichero,
        )
        print(f'  <link rel="stylesheet" href="{ruta_css}">', file=fichero)
        print("</head>", file=fichero)
        print("", file=fichero)
        print("<body>", file=fichero)
        print("  <p>¡Hola, mundo!</p>", file=fichero)
        print("</body>", file=fichero)
        print("</html>", file=fichero)

    webbrowser.open(ruta_html)


if __name__ == "__main__":
    main()