Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # horizontal character mirroring
- a = r"""
- .-.
- ( )
- '-'
- J L
- | |
- J L
- | |
- J L
- .-'.___.'-.
- /___________\\
- _.- ' 'E \._
- .' '.
- J '.
- F L
- J J
- J '
- | L
- | |
- | |
- | J
- | L
- | |
- | ,.___ ______ ___....--._
- | ,' ' ' '-._
- | J _____________________'-.
- | F .-' '-88888-' 'Y8888b.'.
- | | .' 'P' '88888b \\
- | | J # L # q8888b L
- | | | | )8888D )
- | J \ J d8888P P
- | L '. .b. ,88888P /
- | '. '-.___,o88888o.___,o88888P'.'
- | '-.__________________________..-'
- | |
- | .-----.........____________J
- | .' | | | |
- | J---|-----..|...___|_______|
- | | | | | |
- | Y---|-----..|...___|_______|
- | '. | | | |
- | ''-------:....__|______.J
- | |
- L___ |
- `""----...______________...---'
- """
- def mirror(value: str) -> str:
- value = value.lstrip("\n").rstrip("\n")
- swap = str.maketrans({
- "/": "\\",
- "\\": "/",
- "(": ")",
- ")": "(",
- "[": "]",
- "]": "[",
- "{": "}",
- "}": "{",
- "<": ">",
- ">": "<",
- "L": "J",
- "J": "L",
- })
- lines = value.splitlines()
- w = max((len(line) for line in lines), default=0)
- # pad so whitespace mirrors too, then swap directional chars, then reverse
- return "\n".join(line.ljust(w).translate(swap)[::-1] for line in lines)
- mirrored = mirror(a)
- print(mirrored)
Advertisement
Add Comment
Please, Sign In to add comment