minX = -2.0
maxX = 1.0
width = 78
height = 36
aspectRatio = 2

chars = " .,-:;i+hHM$*#@ "

yScale = (maxX-minX)*(float(height)/width)*aspectRatio

for y in range(height):
    line = ""
    for x in range(width):
        c = complex(minX+x*(maxX-minX)/width, y*yScale/height-yScale/2)
        z = c
        for char in chars:
            if abs(z) > 2:
                break
            z = z*z+c
        line += char
    print line

               ...............................................................
             .....................,,,,,,,,,,,.................................
            .............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................
          ..........,,,,,,,,,,,,,,,,,,,,,,,----------,,,,,,...................
         ........,,,,,,,,,,,,,,,,,,,,,------::;h+;::-----,,,,,................
       .......,,,,,,,,,,,,,,,,,,,,,--------:::;+MMhM :------,,,,,.............
      .....,,,,,,,,,,,,,,,,,,,,,---------::::ii+M $hi;::------,,,,,,..........
     ....,,,,,,,,,,,,,,,,,,,,,---------:::;;h      * +;::::----,,,,,,,........
    ....,,,,,,,,,,,,,,,,,,,---------::;;;;ii+$      @hi;;:::::---,,,,,,.......
    ..,,,,,,,,,,,,,,,,,,,-------:::;h+Mh++HHH$      *Hhh+i;;ihi:--,,,,,,,.....
   ..,,,,,,,,,,,,,,,,,------:::::;;i     #               HH M*M+:--,,,,,,,....
  ..,,,,,,,,,,,,,,,,---::::::::;;;i+h#                        h;::-,,,,,,,,...
  .,,,,,,,,,,,,,---:;;::::::;;;;i+                           M+i;:--,,,,,,,,..
 .,,,,,,,,-----::;;M+iiiih+iiii++h                             M :---,,,,,,,,.
 .,,,--------::::;i+$   M# $ HhhH$                             $i;---,,,,,,,,.
 ,,--------:::::;iihM          **                               i:----,,,,,,,,
 ,-------::::;; +hH*                                           h;:----,,,,,,,,
 -:::-:;;;;;ii+h                                              +;::----,,,,,,,,
                                                            Mhi;::----,,,,,,,,
 -:::-:;;;;;ii+h                                              +;::----,,,,,,,,
 ,-------::::;; +hH*                                           h;:----,,,,,,,,
 ,,--------:::::;iihM          **                               i:----,,,,,,,,
 .,,,--------::::;i+$   M# $ HhhH$                             $i;---,,,,,,,,.
 .,,,,,,,,-----::;;M+iiiih+iiii++h                             M :---,,,,,,,,.
  .,,,,,,,,,,,,,---:;;::::::;;;;i+                           M+i;:--,,,,,,,,..
  ..,,,,,,,,,,,,,,,,---::::::::;;;i+h#                        h;::-,,,,,,,,...
   ..,,,,,,,,,,,,,,,,,------:::::;;i     #               HH M*M+:--,,,,,,,....
    ..,,,,,,,,,,,,,,,,,,,-------:::;h+Mh++HHH$      *Hhh+i;;ihi:--,,,,,,,.....
    ....,,,,,,,,,,,,,,,,,,,---------::;;;;ii+$      @hi;;:::::---,,,,,,.......
     ....,,,,,,,,,,,,,,,,,,,,,---------:::;;h      * +;::::----,,,,,,,........
      .....,,,,,,,,,,,,,,,,,,,,,---------::::ii+M $hi;::------,,,,,,..........
       .......,,,,,,,,,,,,,,,,,,,,,--------:::;+MMhM :------,,,,,.............
         ........,,,,,,,,,,,,,,,,,,,,,------::;h+;::-----,,,,,................
          ..........,,,,,,,,,,,,,,,,,,,,,,,----------,,,,,,...................
            .............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................
             .....................,,,,,,,,,,,.................................