r...@zedat.fu-berlin.de (Stefan Ram) writes: > Cai Gengyang <gengyang...@gmail.com> writes: >> Boolean Operators >>------------------------ >>True and True is True >>True and False is False >>False and True is False >>False and False is False >>True or True is True >>True or False is True >>False or True is True >>False or False is False >>Not True is False >>Not False is True >>If I simply want to print a chunk of words and a paragraph >>like the above, what command should I use ? > > The following has about the same size as the original: > > S=' Boolean Operators/------------------------/1&1=' +\ > '1/1&0=0/0&1=0/0&0=0//1|1=1/1|0=1/0|1=1/0|0=0//!1=0/!0=1' > def D(x,y):global S; S=S.replace(x,y) > > D('/','\n');D('1','True');D('0','False');D('&',' and '); > D('|',' or ');D('!','Not ');D('=',' is ');D('!','Not '); > print(S) > > I wrote it just as an attempt to create a shorter piece > of source code, but I failed.
Think functional! This is 257 characters: def D(x,y,s):return s.replace(x,y) print(D('1','True',D('0','False',D('&',' and ',D('|',' or ',D('!','Not ',D('=',' is ',D('!','Not ',""" Boolean Operators ------------------------ 1&1=1 1&0=0 0&1=0 0&0=0 1|1=1 1|0=1 0|1=1 0|0=0 !1=0 !0=1""")))))))) And applying the same idea twice I can get 255: def D(x,y,s):return s.replace(x,y) print(eval(D('"D','D("',D(',','","','''"D-,--,D1,True,D0,False,D&, and ,D|, or ,D!,Not ,D=, is ,D!,Not ,"" Boolean Operators ------------ 1&1=1 1&0=0 0&1=0 0&0=0 1|1=1 1|0=1 0|1=1 0|0=0 !1=0 !0=1"""))))))))''')))) -- Ben. -- https://mail.python.org/mailman/listinfo/python-list