#!/usr/bin/python # -*- coding: utf-8 -*- """Draw an ASCII-art Sierpinski triangle using bitwise operations.""" import sys def main(): for line in sier(64, 2): print line def sier(n, d): # Size in pixels and depth. return (''.join(sierpix(n, d, r, c) for c in range(n)) for r in range(n)) def sierpix(size, depth, r, c): r, c = r - c + size//2, c - size//2 + r return ' ' if r & ~c ^ r else '#' if __name__ == '__main__': for i in range(32): print(''.join(chr((r&~c^r)+32) for r,c in ((i-j+64,i+j-64) for j in range(1,128))))