19届华为实习生笔试之判断iPv6地址类型
题二:
答案:
#coding=utf-8
import re,sys
str = sys.stdin.readline().strip()
def regex(str):
result = ""
if re.sub(r'^::/128$|^([0]{4}:){7}[0]{4}$', r'Unspecified', str) == 'Unspecified':
result = 'Unspecified'
elif re.sub(r'^::1/128$|^([0]{4}:){7}[0]{3}1$', r'Loopback', str) == 'Loopback':
result ='Loopback'
elif re.sub(r'^FE80::/10$|^FE[8AB]{1}[0-9A-F]{1}(:[0-9A-F]{4}){6}:[0-9A-F]{4}$', r'LinkLocal',str) == 'LinkLocal':
result = 'LinkLocal'
elif re.sub(r'^FEC0::/10$|^FE[CDEF]{1}[0-9A-F]{1}(:[0-9A-F]{4}){6}:[0-9A-F]{4}$', r'SiteLocal',str) == 'SiteLocal':
result = 'SiteLocal'
elif re.sub(r'^FF00::/10$|^FF[0-9A-F]{2}(:[0-9A-F]{4}){6}:[0-9A-F]{4}$', r'Multicast', str) == 'Multicast':
result = 'Multicast'
elif re.sub(r'^([0-9A-F]{4}:){7}[0-9A-F]{4}$', r'Globalcast', str) == 'Globalcast':
result = 'Globalcast'
else:
result = 'Error'
print(result)
regex(str)
上面这个写法,用输入流进行输入、输出,因为牛客网对输入输出有要求。
然后在终端运行文件(用了sys.stdin的输入流,只能通过命令行来执行):
1.在命令行中打开父文件夹
2.`python 文件名.py ` 运行pthon文件
3.输入参数(本例子的参数是字符串)
以下是python输入输出说明的样例:
19届华为实习生笔试之判断iPv6地址类型的更多相关文章
- 判断IPv6地址合法性
在 <netinet/in.h> 头文件下有下列这些宏用于判断IPv6地址合法性 返回0代表true,返回非零值代表ipv6地址为非指定类型的的地址(false) int IN6_IS_A ...
- IPv6地址类型和操作
IPv6地址的号段划分和前缀表示法: IPv6拥有128位巨大的地址空间,对于那么大的空间,也不是随意的划分,而是使用按照bit位进行号段划分 地址结构图 全局路由前缀 (48位) 子网ID (16位 ...
- H3C 常用的IPv6地址类型及格式
- IPv6地址分类及表示方法
对于IPv4地址,我们知道分为A类.B类.C类.组播地址和留用地址,几大类,ABC类地址中还会有不同功能的如广播地址.私有地址等类型.那么IPv6的地址是怎么分类的呢?本文就带大家初步了解一下. 先说 ...
- ipv6 地址说明
开篇我们先简单介绍下ipv4 地址 IPv4 地址: ipv4地址一共32位,用点分十进制表示,每一个部分是8位.子网掩码有两种表示 192.168.1.3 / 24 表示ip的前24位是网络位,后8 ...
- DP - tencent2016实习生笔试A
tencent2016实习生笔试A Problem's Link ------------------------------------------------------------------- ...
- 第19届亚太零售商大会 | 奇点云CEO行在受邀出席发表演讲
2019年9月5日—7日,第19届亚太零售商大会在重庆举行. 亚太零售商大会作为世界三大零售盛会之一,是亚太地区零售行业最具规模.最具影响力的零售行业盛会.本次大会以“新零售·新消费·新动力·合作与共 ...
- IP地址(IPv4)/IPv6地址的正则表达式
原地址:http://pfeishao.blog.163.com/blog/static/18162337020112113130453/ Pv4地址正则表达式:^((25[0-5]|2[0-4]\d ...
- 通过userAgent判断手机浏览器类型
我们可以通过userAgent来判断,比如检测某些关键字,例如:AppleWebKit*****Mobile或AppleWebKit,需要注意的是有些浏览器的userAgent中并不包含AppleWe ...
随机推荐
- 关于eclipse安装Genymotion插件的方法
其实Genymotion的安装方法也有两种:在线安装和离线安装,不过推荐使用在线安装,这个更快.这里我只说在线安装的方法. 打开eclipse,点击help-install new software ...
- python 全栈开发,Day3(正式)
一.基础数据类型 基础数据类型,有7种类型,存在即合理. 1.int 整数 主要是做运算的 .比如加减乘除,幂,取余 + - * / ** %...2.bool 布尔值 判断真假以及作为条件变量3. ...
- 笔记:Eclipse 安装 Hibernate Tools
在线安装,要求 Eclipse Neon 4.6 版本和Java 8,在 Help > Install New Software,在打开的窗体中的 Work with 中输入URL地址" ...
- [poj3254]Corn Fields_状压dp
Corn Fields poj3254 题目大意:给你一个n*m的地,每一块地可以种或不种,两块种过的地不能挨着,可以一块都不种,问所有的种地方案数. 注释:读入用0和1,1<=n,m<= ...
- WEB 表格测试点
Web页面的表格测试点: 1.表格列名 2.表格翻页.表格跳转到多少页.最后一页.首页 3.表格每页显示的数据, 数据的排序 4.表格无数据 5.表格支持的最大数据量 6.表格中数据内容超长时,显示是 ...
- oracle 常用select sql语句
本人认为很实用的几条语句 1)select ... from ...into... 2)insert into ...select ... 3)select ...from ...left join ...
- ConcurrentHashMap 源码分析
ConcurrentHashMap 源码分析 1. 前言 终于到这个类了,其实在前面很过很多次这个类,因为这个类代码量比较大,并且涉及到并发的问题,还有一点就是这个代码有些真的晦涩,不好懂.前前 ...
- wps中如何插入参考文献
最近学校论文规定要将参考文献在正文中引用,所以自己对这一方面做一下总结:点击插入尾注, 1:打开你的论文 2:点击"引用"--"插入尾注" 3:你会发现出现的不 ...
- Git常用命令(一)------ 本地操作
本文总结自廖雪峰的网站. 几个名词: 工作区(Working Directory):电脑里能看到的目录 版本库(Repository):包含暂存区和master 暂存区(Stage):待放入maste ...
- Java基础学习笔记一 Java介绍
java语言概述 Java是sun公司开发的一门编程语言,目前被Oracle公司收购,编程语言就是用来编写软件的. Java的应用 开发QQ.迅雷程序(桌面应用软件) 淘宝.京东(互联网应用软件) 安 ...