j0h

ASCII_Art_Mirror

j0h
Dec 30th, 2025
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.52 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. # horizontal character mirroring
  3.  
  4. a = r"""
  5.                      .-.
  6.                     (   )
  7.                      '-'
  8.                      J L
  9.                      | |
  10.                     J   L
  11.                     |   |
  12.                    J     L
  13.                  .-'.___.'-.
  14.                 /___________\\
  15.            _.- '           'E \._
  16.          .'                       '.
  17.        J                            '.
  18.       F                               L
  19.      J                                 J
  20.     J                                   '
  21.     |                                   L
  22.     |                                   |
  23.     |                                   |
  24.     |                                   J
  25.     |                                    L
  26.     |                                    |
  27.     |             ,.___ ______   ___....--._
  28.     |           ,'     '        '           '-._
  29.     |          J           _____________________'-.
  30.     |         F         .-'   '-88888-'    'Y8888b.'.
  31.     |         |       .'         'P'         '88888b \\
  32.     |         |      J       #     L      #    q8888b L
  33.     |         |      |             |           )8888D )
  34.     |         J      \            J           d8888P P
  35.     |          L      '.         .b.         ,88888P /
  36.     |           '.      '-.___,o88888o.___,o88888P'.'
  37.     |             '-.__________________________..-'
  38.     |                                    |
  39.     |         .-----.........____________J
  40.     |       .' |       |      |       |
  41.     |      J---|-----..|...___|_______|
  42.     |      |   |       |      |       |
  43.     |      Y---|-----..|...___|_______|
  44.     |       '. |       |      |       |
  45.     |         ''-------:....__|______.J
  46.     |                                  |
  47.      L___                              |
  48.          `""----...______________...---'
  49.  
  50. """
  51.  
  52. def mirror(value: str) -> str:
  53.     value = value.lstrip("\n").rstrip("\n")
  54.     swap = str.maketrans({
  55.         "/": "\\",
  56.         "\\": "/",
  57.         "(": ")",
  58.         ")": "(",
  59.         "[": "]",
  60.         "]": "[",
  61.         "{": "}",
  62.         "}": "{",
  63.         "<": ">",
  64.         ">": "<",
  65.         "L": "J",
  66.         "J": "L",
  67.     })
  68.  
  69.     lines = value.splitlines()
  70.     w = max((len(line) for line in lines), default=0)
  71.  
  72.     # pad so whitespace mirrors too, then swap directional chars, then reverse
  73.     return "\n".join(line.ljust(w).translate(swap)[::-1] for line in lines)
  74.  
  75. mirrored = mirror(a)
  76. print(mirrored)
Advertisement
Add Comment
Please, Sign In to add comment