Clase Texto en pantalla - Python Programming Exercise

En este ejercicio, desarrollarás una clase en Python llamada "DisplayText" que te permitirá mostrar texto en coordenadas específicas en la pantalla. Este ejercicio es perfecto para practicar la definición de clases, la herencia y la implementación de métodos en Python. Al implementar estas clases, obtendrás experiencia práctica en el manejo de definiciones de clases, herencia e implementación de métodos en Python. Este ejercicio no solo refuerza tu comprensión de la programación orientada a objetos, sino que también te ayuda a desarrollar prácticas de codificación eficientes para gestionar las interacciones con el usuario. Además, este ejercicio proporciona una excelente oportunidad para explorar la versatilidad de Python en aplicaciones del mundo real. Al trabajar con definiciones de clases, herencia e implementación de métodos, aprenderás a estructurar tu código de manera eficiente, lo cual es una habilidad crucial en muchos escenarios de programación. Este ejercicio también te anima a pensar críticamente sobre cómo estructurar tu código para la legibilidad y el rendimiento, convirtiéndolo en una valiosa adición a tu portafolio de programación. Ya seas un principiante o un programador experimentado, este ejercicio te ayudará a profundizar tu comprensión de Python y mejorar tus habilidades para resolver problemas.

 Categoría

POO Dominando clases en Python

 Ejercicio

Clase Texto En Pantalla

 Objectivo

Desarrolla una clase de Python llamada DisplayText, que te permita mostrar texto en coordenadas específicas en la pantalla. Esta clase debe tener un constructor que tome X, Y y el texto que se va a mostrar. También debe incluir 3 métodos de establecimiento y un método de visualización para imprimir el texto en la posición especificada.

A continuación, crea una subclase llamada CenteredDisplayText que herede de DisplayText. Esta subclase debe colocar el texto centrado horizontalmente dentro de una fila dada (Y), mientras que deja la coordenada X sin cambios. El constructor solo debe recibir la coordenada Y y el texto.

Luego, crea otra subclase llamada FramedDisplayText, que mostrará el texto dentro de un marco rectangular y centrado horizontalmente. Tomará la fila inicial (Y) y el texto como entradas.

Por último, desarrolla un programa de prueba que cree instancias de cada una de estas clases y muestre su contenido.

 Ejemplo de ejercicio de Python

 Copiar código Python
class DisplayText:
    def __init__(self, x, y, text):
        """
        Initializes the DisplayText class with X, Y coordinates, and the text to display.

        Parameters:
            x (int): The X-coordinate to display the text at.
            y (int): The Y-coordinate to display the text at.
            text (str): The text to be displayed.
        """
        self.x = x
        self.y = y
        self.text = text

    # Setter method for X-coordinate
    def set_x(self, x):
        self.x = x

    # Setter method for Y-coordinate
    def set_y(self, y):
        self.y = y

    # Setter method for text
    def set_text(self, text):
        self.text = text

    def show(self):
        """
        Displays the text at the specified coordinates (X, Y).
        """
        print(f"Displaying text at ({self.x}, {self.y}): {self.text}")


class CenteredDisplayText(DisplayText):
    def __init__(self, y, text):
        """
        Initializes the CenteredDisplayText subclass with Y-coordinate and the text to display.
        The text will be horizontally centered within the given row.

        Parameters:
            y (int): The Y-coordinate to display the text at.
            text (str): The text to be displayed.
        """
        # Calculate the X-coordinate to center the text within a fixed width (let's assume a width of 50)
        x = (50 - len(text)) // 2  # Centering the text within 50 characters
        super().__init__(x, y, text)

    def show(self):
        """
        Displays the text horizontally centered at the specified Y-coordinate.
        """
        print(f"Displaying centered text at ({self.x}, {self.y}): {self.text}")


class FramedDisplayText(DisplayText):
    def __init__(self, y, text):
        """
        Initializes the FramedDisplayText subclass with Y-coordinate and the text to display.
        This subclass displays the text within a rectangular frame, horizontally centered.

        Parameters:
            y (int): The Y-coordinate to display the text at.
            text (str): The text to be displayed.
        """
        # Calculate the X-coordinate to center the text within a fixed width (let's assume a width of 50)
        x = (50 - len(text)) // 2  # Centering the text within 50 characters
        super().__init__(x, y, text)

    def show(self):
        """
        Displays the text within a rectangular frame and horizontally centered.
        """
        border = '*' * (len(self.text) + 4)  # Frame border with padding
        print(border)
        print(f"* {self.text} *")
        print(border)


# Test program to create and display instances of each class
def main():
    # Create an instance of DisplayText
    text1 = DisplayText(10, 5, "Hello, World!")
    text1.show()

    # Create an instance of CenteredDisplayText
    text2 = CenteredDisplayText(8, "Centered Text")
    text2.show()

    # Create an instance of FramedDisplayText
    text3 = FramedDisplayText(10, "Framed Text")
    text3.show()


# Run the test program
if __name__ == "__main__":
    main()

 Output

Displaying text at (10, 5): Hello, World!
Displaying centered text at (17, 8): Centered Text
*************************
* Framed Text *
*************************

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de POO Dominando clases en Python

¡Explora nuestro conjunto de ejercicios de programación Python! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de Python. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en Python.

  •  Clase ComplexNumber mejorada

    En este ejercicio, desarrollarás un programa en Python para mejorar la clase "ComplexNumber" sobrecargando los operadores de suma (+) y resta (-). Este ejercicio...

  •  Coordenadas 3D

    En este ejercicio, desarrollarás una clase en Python llamada "Point3D" que representará un punto en el espacio tridimensional con coordenadas X, Y y Z. Este ejerci...

  •  Catálogo y Navegación

    En este ejercicio, desarrollarás un programa en Python para mejorar la aplicación de Catálogo, donde la función "Main" muestra un menú que permite a los usuarios ingr...

  •  Matriz de objetos: tablas

    En este ejercicio, desarrollarás una clase en Python llamada "Table". La clase debe incluir un constructor para inicializar el ancho y la altura de la mesa. También d...

  •  Clase Hogar

    En este ejercicio, desarrollarás un programa en Python con las siguientes clases: - **House**: Crea una clase llamada "House" con un atributo para "area". Incluye ...

  •  Array de tablas

    En este ejercicio, desarrollarás un proyecto en Python llamado "Tables2", ampliando el proyecto "Tables". En este proyecto, define una clase llamada "CoffeeTable" que...