程序功能为:输入IP地址,判断IPV4的分类结果。当输入0时结束程序。 编程思想为:将输入字符串以“.”分隔为四组,判断合理性后调用函数ipclass返回地址分类结果。 说明:IPV4地址为四组十进制正整数,以点分隔,四组数字均不能大于255,也不能含非数字符号。IPV4的分类规则简化描述如下:首段数字为1~126是A类地址;128~191是B类地址;192~223是C类地址,除此之外归为其它类地址。
时间: 2023-11-27 07:50:33 浏览: 64
判断字符串是否为IP地址
5星 · 资源好评率100%
下面是Python的代码实现:
```python
def ipclass(ip):
if ip[0] >= 1 and ip[0] <= 126:
return "A类地址"
elif ip[0] >= 128 and ip[0] <= 191:
return "B类地址"
elif ip[0] >= 192 and ip[0] <= 223:
return "C类地址"
else:
return "其他类地址"
while True:
ip_str = input("请输入IP地址:")
if ip_str == "0":
break
ip = ip_str.split('.')
if len(ip) != 4:
print("IP地址格式错误")
else:
try:
ip = list(map(int, ip))
if all(x >= 0 and x <= 255 for x in ip):
print(ipclass(ip))
else:
print("IP地址格式错误")
except ValueError:
print("IP地址格式错误")
```
首先,定义了一个函数`ipclass(ip)`,根据IP地址的首段数字进行分类。
然后,使用`while`循环,不断读取用户输入的IP地址,并判断其格式是否正确。如果格式正确,就调用`ipclass`函数进行分类。
注意,在将输入字符串转换为数字列表时,需要使用`map`函数和`int`函数进行转换,同时需要使用`try-except`语句来捕获转换失败的异常。
阅读全文