8–12. (整数)位操作. 编写一个程序, 用户给出起始和结束数字后给出一个下面这样的表格, 分别显示出两个数字间所有整数的十进制, 二进制, 八进制和十六进制表示. 如果字符是可打印的 ASCII 字符, 也要把它打印出来, 如果没有一个是可打印字符, 就省略掉 ASCII 那一栏的表头.
#Filename:test8-12.py
def bitop():
elist=[]
tlist=[]
start=int(raw_input("Enter begin values:"))
end=int(raw_input("Enter end values:"))
promt="%-10s DEC %-9s BIN %-11s OCT %-8s HEX"%(' ',' ',' ',' ')
flag=True
if end < 33 or start > 126:
falg=False
else:
promt+='%-8s ASCII'%(' ')
#if flag:
# print "%-10s DEC %-10s BIN %-10s OCT %-10s HEX %-10s ASCII"%(' ',' ',' ',' ',' ')
#pass
for v in range(start,end+1):
elist=[str(v),bin(v),oct(v),hex(v)]
if flag:
if v in range(32,127):
elist.append(chr(v))
else:
pass
tlist.append(elist)
print promt
for raw in tlist:
#for x in raw:
print "%-11s%s"%(' ',(10*' ').join(raw))
bitop()