当前位置: 首页 > news >正文

php网站开发编程软件全国疫情最新消息今天实时

php网站开发编程软件,全国疫情最新消息今天实时,专业的佛山网站建设,网站问题解决1.描述 见牛客网 https://www.nowcoder.com/practice/de538edd6f7e4bc3a5689723a74356822. 分析 根据题目要求,分为以下几步 1. 提取IP地址和子网掩码 我们首先需要拆分输入的每一行,分别提取IP地址和子网掩码,并检查它们的合法性。 2.…

1.描述

见牛客网

https://www.nowcoder.com/practice/de538edd6f7e4bc3a5689723a7435682

2. 分析

根据题目要求,分为以下几步

1. 提取IP地址和子网掩码

我们首先需要拆分输入的每一行,分别提取IP地址和子网掩码,并检查它们的合法性。

2. 分类解析识别IP地址

根据题目提供的IP地址范围,将IP地址分类为A/B/C/D/E类地址。同时,检查IP地址是否属于私有IP地址。

3. 检查子网掩码的合法性

合法的子网掩码必须是二进制下前面是连续的1,然后全是0。非法的子网掩码需要单独归类。

4. 统计结果

最后,将所有的分类结果统计并输出。ip或者子网有一个为非法,就记为非法并统计下一条

3.代码

import sys
import redef is_sw(ip):nums = ip.split('.')one = int(nums[0])two = int(nums[1])if one == 10:return Trueelif one == 172 and 16<=two<=32:return Trueelif one == 192 and two==168:return Truereturn Falsedef is_ip(ip):    k = int(ip.split(".")[0])if 1<=k<=126:return "A"elif 128<=k<=191:return "B"elif 192<=k<=223:return "C"elif 224<=k<=239:return "D"elif 240<=k<=255:return "E"return Falsedef is_mask(mask):# 将所有数转为int型# m = (int(i) for i in mask.split("."))# # 将所有数转为二进制# m = (bin(i) for i in m)# # 连接成一个字符串,每一个去掉0b前缀,左补全0# mask_str = "".join( i[2:].zfill(8) for i in m)                # 上面的也可以写成一句mask_str = "".join([bin(int(i))[2:].zfill(8) for i in mask.split(".")])# 开始判断,只保留111110000这种格式的if "01" in mask_str or "1"*32==mask_str or "0"*32==mask_str:return Falsereturn True# 定义全局结果 
result = {"A":0,"B":0,"C":0,"D":0,"E":0,"Err":0,"SW":0
}for line in sys.stdin: # 提取 Ip 和 maskip,mask = line.split("~")# 提取无效 Ip 或者 无效掩码,不计数,开始下一行# 去掉非  1.12.123.123 这种格式的,如19..10.,注意这里没有过滤 大于 255的# 注意这里 . 要转义,用\.ip_ptn = "^(\d{1,3}\.){3}\d{1,3}$"if not re.match(ip_ptn,ip) or not re.match(ip_ptn,mask):result["Err"] += 1continue# 去掉 0 和127 开头的if ip.startswith("0.") or ip.startswith('127.'):continue # 转为列表ip_part  = list(map(int,ip.split(".")))mask_part  = list(map(int,mask.split(".")))# 识别大于255的,因为\d是0-9,所以小于0的会在上面过滤掉了if any(i>255 for i in ip_part) or any(m>255 for m in mask_part):result["Err"]+=1continue# 识别非法掩码if not is_mask(mask):result["Err"] += 1continue# 因为 ip类型和私网IP不冲突,所有不用continue,两都都判断# 识别IP地址ip_type = is_ip(ip)if ip_type != False:result[ip_type] += 1# 识别私网IP地址if is_sw(ip):result["SW"] += 1for v in result.values():print(v,end=" ")

4.知识点

1.any()的用法

any(可迭代对象) 表示,可迭代对象中,有一项为真返回真
列中用来判断 所有都要小于255的情况,即

# 表示列表中所有数任何一个大于255就返回真,所有都小于255就返回假
any(i >255 for i in list)

这里还有一个all()函数,表示可迭代对象中,有全部为真才返回真,即有一项为假就返回假

# 表示所有的都要小于255才返回真,任何一个大于255就为假
all(i<255 for i in list)

2.正则式

# 如果能在 str 内匹配到 ptn 就返回真,否则为假
re.match(ptn,str)

3.常用方法

方法名描述
join(t)连接字符串t
startswith(d)以d开头
split©按c拆分
bin(n)整数n转二进制
int(s)字符s转int
zfill(n)左补n位全零
rjust(n,c)右补n对应c字符
ljust(n,c)左补n对应c字符
http://www.mnyf.cn/news/14540.html

相关文章:

  • 网站做二级域名干什么用扬中网站制作
  • 排名好的锦州网站建设可以推广发广告的app
  • 建设机械网站渠道360提交入口网址
  • 网站服务器中如何做重定向重庆网站建设公司
  • wordpress 4.0后台seo比较好的优化方法
  • h5游戏网站入口小程序开发
  • 一个公司做网站需要注意什么b2b电子商务平台排名
  • 网站开发时如何兼容建设网站需要多少钱
  • 深圳市哪些公司做网站好百度免费下载安装百度
  • 为什么做电子商务网站的原因世界球队最新排名榜
  • 网站移动端做pc端的301跳转网站搜索优化方法
  • 微做网站谷歌搜索引擎镜像入口
  • 大庆市让胡路区规划建设局网站百度问答怎么赚钱
  • 美国服务器网站推荐seo快速优化软件网站
  • 正能量网站入口怎么推广产品
  • 哪个网站开发好网站的优化从哪里进行
  • 网站内容模板沧州百度推广公司
  • 可以做音基题的音乐网站整合网络营销外包
  • 政协网站建设游戏交易平台
  • 怎么架设个人网站比较靠谱的推广平台
  • 东莞网站建设营销的企业企业培训方案制定
  • 外国人做外贸都会浏览哪些网站陕西seo主管
  • 馆陶网站推广特大新闻凌晨刚刚发生
  • 中文.com网站网络推广一般怎么收费
  • WordPress实现登陆提醒seo课堂
  • 贵阳网站建设咨询免费网页在线客服系统代码
  • 开锁做网站怎么样东莞网络推广排名
  • 企业网站建设的征求意见win10最强性能优化设置
  • 单一产品做网站谷歌推广网站
  • 淘宝做的网站优化西安seo外包行者seo