程序功能为:输入IP地址,判断IPV4的分类结果。当输入0时结束程序。 编程思想为:将输入字符串以“.”分隔为四组,判断合理性后调用函数ipclass返回地址分类结果。 说明:IPV4地址为四组十进制正整数,以点分隔,四组数字均不能大于255,也不能含非数字符号。IPV4的分类规则简化描述如下:首段数字为1~126是A类地址;128~191是B类地址;192~223是C类地址,除此之外归为其它类地址。
时间: 2024-02-23 20:55:55 浏览: 20
这个程序需要用到字符串分割和类型转换,可以按照以下思路实现:
1. 读取用户输入的IP地址字符串,以"."为分隔符,将其分割成四个子字符串;
2. 将每个子字符串转换成整数,判断是否在0~255之间,如果不是,则输入的IP地址不合法;
3. 判断IP地址的分类,根据首段数字的范围进行判断;
4. 输出IP地址的分类结果;
5. 如果用户输入的是0,则结束程序。
下面是一个示例代码:
相关问题
用Python写一个输入ip地址判断Ipv4的分类结果的程序
可以使用Python中的ipaddress库来判断IPv4地址的分类结果,具体代码如下:
```
import ipaddress
ip = input("请输入IP地址:")
try:
ipaddress.IPv4Address(ip)
except ipaddress.AddressValueError:
print("输入的不是有效的IPv4地址")
else:
ipv4 = ipaddress.IPv4Network(ip, strict=False)
if ipv4.is_private:
print("私有地址")
elif ipv4.is_loopback:
print("环回地址")
elif ipv4.is_link_local:
print("链路本地地址")
elif ipv4.is_multicast:
print("组播地址")
else:
print("公有地址")
```
这个程序会首先判断输入的字符串是否是一个有效的IPv4地址,如果是,就使用ipaddress库中的IPv4Network类来获取该地址所在的网络,并判断该地址是否为私有地址、环回地址、链路本地地址、组播地址或公有地址。
编写正则表达式程序,判断输入的字符串是否为合法的IP地址。
可以使用以下正则表达式来判断输入的字符串是否为合法的IP地址:
```python
import re
def is_valid_ip_address(ip_address):
# 定义正则表达式
pattern = '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'
# 判断是否匹配
if re.match(pattern, ip_address):
return True
else:
return False
```
其中,正则表达式 `'^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'` 匹配的是四个数字段,每个数字段的范围是 0-255。例如,`127.0.0.1` 就是一个合法的IP地址,而 `256.0.0.1` 就不是合法的IP地址。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)