Skip to content

Instantly share code, notes, and snippets.

@WanderingStar
Created September 6, 2020 01:35
Show Gist options
  • Select an option

  • Save WanderingStar/3604c82649768b9cf5b7970fe5646b38 to your computer and use it in GitHub Desktop.

Select an option

Save WanderingStar/3604c82649768b9cf5b7970fe5646b38 to your computer and use it in GitHub Desktop.
twofivethree
def print_row(elems):
n = len(elems)
if n % 2 == 0:
prefix = " " * ((22 - n)//2)
else:
prefix = " " + " " * ((21 - n)//2)
print(f"{n:>3} " + prefix + " ".join(elems))
def to_rows(elems):
i = 1
while len(elems) > 0:
yield elems[:i]
elems = elems[i:]
i += 1
def print_rows(data):
for r in to_rows(data):
print_row(r)
print()
def visual_center(str, char):
chars = list(str)
chars.insert(112, char)
return "".join(chars)
def wrap(str, char):
rows = list(to_rows(str))
out = [char, char + char]
for row in rows:
out += [char + row + char]
out += [char * (len(out) + 1)]
return "".join(out)
def rewrap(str, chars):
if not chars:
return str
return wrap(rewrap(str, chars[1:]), chars[0])
print_rows("㆓⬠▽" * 42 + "Ξ" + "㆓⬠▽" * 42)
print_rows(visual_center("㆓⬠▽" * 84, "🏠")) # ni
print_rows(visual_center("∞⬠▽" * 84, "●")) # inf standin for mobius
print_rows(visual_center("-⬠▽" * 84, "Ξ"))
print_rows(visual_center("|⬠▽" * 84, "Ξ"))
print_rows(visual_center("/⬠▽" * 84, "Ξ"))
print_rows(visual_center("∥⬠▽" * 84, "Ξ")) # parallel symbol
print_rows(visual_center("=⬠▽" * 84, "Ξ"))
print_rows("Ξbeexcellenttoeachother" * 11)
print_rows("Ξ" + ("2255555333" * 23) + "Ξ"+ ("2255555333" * 2) + "Ξ")
print_rows(wrap("=⬠▽" * 63 + "Ξ", "●"))
print_rows(rewrap("Ξ", "253Ξ㆓⬠▽"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment