一个关于<python核心编程>的课后作业

<Python核心编程>中的题目:

8-12(整数)位操作.编写一个程序,它在由用户输入法开始结束数字后给出一个下面这样的表格,

分别显示出两个数字之间所有数字的十进制,二进制,八进制,十六进制表示形式.若字符是可打印的ASCII字符,

也要把它们打印出来;若不是可打印ASCII字符,就略掉ASCII那一栏的标题.

二进制形式可用 bin(number)表示,例如bin(10),输出:0x1010.则可用replace('0b','')来替换掉'0x'.
完整式为:    %s,% (bin(number).replace('0b',''))

八进制形式为   %o
十六进制形式为   %x
ASCII形式为      %s,  然后用chr(num)表示

若要判断是否为可打印的ASCII字符
则可改为:
f
or i in lis:
    if i<33:
   jinZhiA(i)
    else:

   jinZhiB(i)

---------------------------------------完整代码如下————————————————————————

#coding=utf-8
''' 由用户输入开始和结束数字后给出一个表格,
以演示输出两个数字的十进制,二进制,八进制,十六进制表示形式.
'''
def jinZhiA(num): 
    print '%d\t%s\t%o\t%x\t' %(num,bin(num).replace('0b',''),num,num)
    
def jinZhiB(num):   
    print '%d\t%s\t%o\t%x\t%s\t' %(num,bin(num).replace('0b',''),num,num,chr(num))


if __name__ == '__main__':
    print 'SAMPLE OUTPUT1:'
    print '---------------'
    ibegin = input('Enter begin value:')
    iend = input('Enter end value:')
    print 'DEC\tBIN\tOCT\tHEX\t'
    print '----------------------------'
    lis=[  i for i in range(ibegin,iend+1)]


    for i in  lis:
        jinZhiA(i)
        
    print 'SAMPLE OUTPUT2'
    print '--------------'
    ibegin = input('Enter begin value:')
    iend = input('Enter end value:')
    print 'DEC\tBin\tOCT\tHEX\tASCII\t'
    print '-------------------------------------'
    lis = [ ]
    lis = [  i for i in range(ibegin,iend+1)]


     for i in lis:
            jinZhiB(i)  

#若要判断是否为可打印的ASCII字符
#则可改为:
#f
or i in lis:
#   if i<33:
#     jinZhiA(i)
#   else:

#     jinZhiB(i)

               

    import os
    print '\nGET THE SIZE OF <JinZhe.py> IS :',os.path.getsize('JinZhe.py')

    
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值