码迷,mamicode.com
首页 > 其他好文 > 详细

19届华为实习生笔试之判断iPv6地址类型

时间:2018-04-03 23:51:30      阅读:522      评论:0      收藏:0      [点我收藏+]

标签:oba   字符串   pre   判断   specified   oop   ==   ack   local   

题二:

技术分享图片
技术分享图片
技术分享图片

答案:

#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地址类型

标签:oba   字符串   pre   判断   specified   oop   ==   ack   local   

原文地址:https://www.cnblogs.com/n2meetu/p/8711453.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!