python核心编程第八章习题答案(2)

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()

    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值