python核心编程第六章练习6-11

6-11.
转换。
(a)创建一个从整型到IP地址的转换,如下格式:www.xxx.yyy.zzz
(b)更新你的程序,使之可以逆转换。
【答案】
(a)代码如下:

Input_number = abs(int(raw_input('Please input a number: ')))
x3 = x2 = x1 = x0 = 0
x3 = Input_number / (256 ** 3)
if x3 > 255: 
    tmp = x3 
    x3 = 255
else:
    tmp = x3
x2 = (Input_number - 256 ** 3 * tmp) / (256 ** 2)
x1 = (Input_number - 256 ** 3 * tmp - 256 ** 2 * x2) / (256 ** 1)
x0 = Input_number - 256 ** 3 * tmp - 256 ** 2 * x2 - 256 * x1

print '%d.%d.%d.%d' % (x3, x2, x1, x0)

  (b)代码如下:

Input_IP = raw_input('Pleae input an IP address ... ')
IP = str.split(Input_IP, '.')
Data = 256 ** 3 * int(IP[0]) + 256 ** 2 * int(IP[1])+ 256 * int(IP[2]) + int(IP[3])
print 'the number is %d' % Data

  以上不是自己做的,这个题算法要求不明确,就按照这个来吧。

转载于:https://www.cnblogs.com/Kaivenblog/p/4635925.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值