用 Python 区分IP地址
目录
一、前言
↶
最近在看计算机网络,写一段小程序来区分IP地址。代码非常简单,应该不会有问题吧(⊙o⊙)…。
二、代码
↶
import re
def classifyIPAddress(IP_list):
IP_binary_string = '.'.join(bin(int(i))[2:].zfill(8) for i in IP_list)
print("Bin: ", IP_binary_string)
if IP_binary_string.startswith('0'):
print("A类地址")
elif IP_binary_string.startswith('10'):
print("B类地址")
elif IP_binary_string.startswith('110'):
print("C类地址")
elif IP_binary_string.startswith('1110'):
print("D类地址")
else:
print("E类地址")
if __name__ == '__main__':
regex = re.compile(r'([0-9]+).([0-9]+).([0-9]+).([0-9]+)')
## for i in range(20):
## print('\n')
while True:
IP = input("IP: ")
result = re.findall(regex, IP)
if not result:
break
IP_list = list(result[0])
## print(IP_list)
classifyIPAddress(IP_list)
三、演示
↶
试辨认以下 IP 地址的网络类别。
(1)128.36.199.3 (2)21.12.240.17 (3)183.194.76.253
(4)192.12.69.248 (5)89.3.0.1 (6)200.3.6.2**
(2) 和 (5) 是 A 类;(1) 和 (3) 是 B 类;(4) 和 (6) 是 C 类。
四、总结
↶
主要写了用Python区分IP地址的小程序。
点我回顶部 ☚
Fin.