
Size: a a a
#!/usr/bin/env python3
import os
G = '''"$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'. "'''
if hasattr(os, 'get_terminal_size'):
tsize = os.get_terminal_size
else:
tsize = lambda:(int(os.getenv('COLUMNS', 80)), int(os.getenv('LINES', 24)))
def m(w, h, z):
out = ''
xz, yz = z, z * 6 / 5
for y in range(h):
yy = yz * (y / h - .5) - 1
for x in range(w):
xx = xz * (x / w - .5)
z, c = 0j, complex(xx, yy)
for r in G:
z = z**2 + c
if abs(z.real) > 2 or abs(z.imag) > 2:
out += r
break
else:
out += ' '
return out
if __name__ == '__main__':
z = 1
while 1:
w, h = tsize()
print(m(w, h-1, z))
z *= 0.97