Mostrar banner - Python Programming Exercise

En este ejercicio, desarrollarás un programa en Python para imitar la utilidad básica "banner" de Unix SysV, capaz de mostrar textos grandes. Este ejercicio es perfecto para practicar la manipulación de cadenas y los bucles en Python. Al implementar un programa que pueda mostrar textos grandes en formato de banner, obtendrás experiencia práctica en el manejo de la entrada y salida de datos en Python. Este ejercicio no solo refuerza tu comprensión de la manipulación de cadenas, 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 la entrada del usuario y mostrarla en un formato creativo, aprenderás a manejar y manipular cadenas 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

Matrices, listas y cadenas

 Ejercicio

Mostrar Banner

 Objectivo

Desarrollar un programa Python para imitar la utilidad básica "banner" SysV de Unix, capaz de mostrar textos grandes.

 Ejemplo de ejercicio de Python

 Copiar código Python
# Define a dictionary for large font representation of characters
banner_font = {
    'A': ['  A  ', ' A A ', 'AAAAA', 'A   A', 'A   A'],
    'B': ['BBBB ', 'B   B', 'BBBB ', 'B   B', 'BBBB '],
    'C': [' CCC ', 'C    ', 'C    ', 'C    ', ' CCC '],
    'D': ['DDDD ', 'D   D', 'D   D', 'D   D', 'DDDD '],
    'E': ['EEEEE', 'E    ', 'EEEEE', 'E    ', 'EEEEE'],
    'F': ['EEEEE', 'E    ', 'EEEEE', 'E    ', 'E    '],
    'G': [' GGG ', 'G    ', 'G  GG', 'G   G', ' GGG '],
    'H': ['H   H', 'H   H', 'HHHHH', 'H   H', 'H   H'],
    'I': [' III ', '  I  ', '  I  ', '  I  ', ' III '],
    'J': ['   J', '   J', '   J', 'J  J', ' JJ '],
    'K': ['K   K', 'K  K ', 'KK   ', 'K  K ', 'K   K'],
    'L': ['L    ', 'L    ', 'L    ', 'L    ', 'LLLLL'],
    'M': ['M   M', 'MM MM', 'M M M', 'M   M', 'M   M'],
    'N': ['N   N', 'NN  N', 'N N N', 'N  NN', 'N   N'],
    'O': [' OOO ', 'O   O', 'O   O', 'O   O', ' OOO '],
    'P': ['PPPP ', 'P   P', 'PPPP ', 'P    ', 'P    '],
    'Q': [' QQQ ', 'Q   Q', 'Q   Q', 'Q  QQ', ' QQQQ'],
    'R': ['RRRR ', 'R   R', 'RRRR ', 'R  R ', 'R   R'],
    'S': [' SSS ', 'S    ', ' SSS ', '    S', ' SSS '],
    'T': ['TTTTT', '  T  ', '  T  ', '  T  ', '  T  '],
    'U': ['U   U', 'U   U', 'U   U', 'U   U', ' UUU '],
    'V': ['V   V', 'V   V', 'V   V', ' V V ', '  V  '],
    'W': ['W   W', 'W   W', 'W M M', 'W M M', 'W   W'],
    'X': ['X   X', ' X X ', '  X  ', ' X X ', 'X   X'],
    'Y': ['Y   Y', ' Y Y ', '  Y  ', '  Y  ', '  Y  '],
    'Z': ['ZZZZZ', '   Z ', '  Z  ', ' Z   ', 'ZZZZZ'],
    ' ': ['     ', '     ', '     ', '     ', '     '],
}

# Main program loop
while True:
    user_input = input("Enter text for banner (or 'exit' to quit): ")
    if user_input.lower() == 'exit':
        break
    
    user_input = user_input.upper()  # Convert text to uppercase for uniformity
    lines = ['' for _ in range(5)]  # Initialize lines for large text (5 lines)
    
    for char in user_input:
        if char in banner_font:
            char_rep = banner_font[char]
            for i in range(5):
                lines[i] += char_rep[i] + '  '  # Add each character's representation with space
    
    # Print the large banner text
    for line in lines:
        print(line)

 Output

Enter text for banner (or 'exit' to quit): Hello
H   H  EEEEE  L      L       OOO  
H   H  E      L      L      O   O 
HHHHH  EEEE   L      L      O   O 
H   H  E      L      L      O   O 
H   H  EEEEE  LLLLL  LLLLL   OOO  

Enter text for banner (or 'exit' to quit): Python
P   P  Y   Y  TTTTT  H   H  OOO   N   N 
P   P  Y Y Y    T    H   H O   O  NN  N 
PPPPP   YYY     T    HHHHH O   O  N N N 
P       Y Y     T    H   H O   O  N  NN 
P       Y   Y    T    H   H  OOO   N   N 

Enter text for banner (or 'exit' to quit): exit

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de Matrices, listas y cadenas

¡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.

  •  Triángulo alineado a la derecha

    En este ejercicio, desarrollarás un programa en Python que solicita al usuario una cadena y muestra un triángulo alineado a la derecha. Este ejercicio es perfe...

  •  Procesamiento de texto

    En este ejercicio, desarrollarás un programa en Python que solicita al usuario una cadena y realiza varias transformaciones. El programa reemplazará todas las 'a' min...

  •  Estructuras jerárquicas

    En este ejercicio, desarrollarás un programa en Python para almacenar dos datos de una persona: Nombre y Fecha de nacimiento. La Fecha de nacimiento...

  •  Organización de datos

    En este ejercicio, desarrollarás un programa en Python que solicita al usuario 10 números enteros (que van de -1000 a 1000), los ordena y los muestra en orden. Este ...

  •  Buffer de pantalla usando una matriz 2D

    En este ejercicio, desarrollarás un programa en Python que declara una matriz bidimensional de caracteres de 70x20, "dibuja" 80 letras (X, por ejemplo) en posiciones ...

  •  Matriz 2D: Mostrar círculo

    En este ejercicio, desarrollarás un programa en Python que crea una matriz bidimensional de caracteres de 70x20, "dibuja" un círculo con un radio de 8 dentro de ella ...