day16正则表达式作业
1、匹配一篇英文文章的标题 类似 The Voice Of China
#([A-Z][a-z]*)( [A-Z][a-z]*)*
2、匹配一个网址
#(https|http|ftp):\/\/[^\s]+ #没用到空白符就匹配出
3、匹配年月日日期 类似 2018-12-06 2018/12/06 2018.12.06
\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}
#\d{4}(?P<tag>[.\-\+@])\d{1,2}(?P=tag)\d{1,2}
ret3 = re.findall('\d{4}(?P<tag>[.\-\+@])\d{1,2}(?P=tag)\d{1,2}','2018-12-12')
print(ret3)
4、匹配15位或者18位身份证号
# [1-9]\d{14}(\d{2}[\dx])?
5、从lianjia.html中匹配出标题,户型和面积,结果如下:
[('金台路交通部部委楼南北大三居带客厅 单位自持物业', '3室1厅', '91.22平米'), ('西山枫林 高楼层南向两居 户型方正 采光好', '2室1厅', '94.14平米')]
import re
with open('lianjia.html',encoding='utf-8') as f:
content = f.read()
par = '\"">(?P<loc>.*?)</a>.*?<span class="divide">/</span>(?P<type>.*?)<span class="divide">/</span>(?P<area>.*?)<span class="divide">/</span>'
ret = re.findall(par,content,re.S) #re.s 点可以匹配任意字符 .
print(ret)
6 发红包
怎么能 第一个人和最后一个人 能抢到多少钱 是平均概率
import random
def red_pac(money,num):
#取num-1 个点
ret = random.sample(range(1,money*100),num-1)
# print(ret)
ret.sort()
ret.insert(0,0) # 确定长度 200
ret.append(money*100)
print(ret)
for i in range(len(ret)-1): # 10 09
value = ret[i+1] - ret[i] #
yield (value/100)
g = red_pac(200,10)
sum = 0
for i in g:
print(i)
sum += i
print(sum)
7. 检验大文件的一致性
一个大文件 多次 校验
两个文件 为什么要加密去比较?
文件的一致性 校验都是 md5 市面上的 有一个场景
代码的更新
100 个代码 2019年 3月 更新的代码 要不要记录下来
更改之后的代码 更新了一台 电脑忘了哪台了
两个md5 值进行 对比
视频软件
下载完成之后, 转转转 正在检测当前文件是否可用
这是一个损坏的文件 不能使用
import hashlib
md5 = hashlib.md5()
md5.update(b'hello')
md5.update(b'world')
ret = md5.hexdigest()
print(ret) md5 = hashlib.md5()
md5.update(b'helloworld')
ret = md5.hexdigest()
print(ret) import os
# path = r''
def file_md5(path):
filesize = os.path.getsize(path)
md5 = hashlib.md5() with open(path,'rb') as f:
while filesize >= 4096:
content = f.readline(4096)
md5.update(content)
filesize-=4096
else:
content = f.read(filesize)
filesize = 0
if content :
md5.update(content)
return md5.hexdigest()
def cmp_file(path1,path2):
return file_md5(path1) == file_md5(path2)
path1 = r'H:\python\小象\第02部分-Python之基础讲解(09-28)\day18-文件处理与三元运算\02-python-全栈三期-day18 文件处理b模式.mp4'
# path2 = r'H:\python\小象\第02部分-Python之基础讲解(09-28)\day18-文件处理与三元运算\02-python-全栈三期-day18 文件处理b模式.mp4'
path2 = r'H:\python\2017年老男孩最新全栈python第2期视频教程 全套完整版-20160816-20170313\day18-python 全栈开发-基础篇\18-13 python 全栈开发-基础篇-day18 作业介绍.avi'
ret = cmp_file(path1,path2)
print(ret)
8注册登录
import hashlib
def md5(username,password): # 可复用 多次用
md5_obj = hashlib.md5(username[::-1].encode('utf-8'))#翻转盐
md5_obj.update(password.encode('utf-8'))
return md5_obj.hexdigest()
def get_line(): #可复用
with open('userinfo', encoding='utf-8',mode='r') as f:
for line in f:
user, pwd = line.strip().split(',')
yield user,pwd
def register():
flag = True
while flag:
user1 = input('user: ')
pwd1 = input('pwd: ')
for user,pwd in get_line():
if user == user1:
print('你输入的用户名已经存在!')
break
else:
flag = False
pwd1 = md5(user1,pwd1)
with open('userinfo', encoding='utf-8',mode='a') as f:
f.write('%s,%s\n'%(user1,pwd1))
def login():
register()
user2 = input('user: ')
pwd2 = input('pwd: ')
for user, pwd in get_line():
if user == user2 and pwd == md5(user2,pwd2):
return True
ret = login()
if ret:
print('登陆成功')
9
5.计算当前月的1号的时间戳时间
#结构化 时间 年月日 时分秒 # 后面的全都是0 #不取的话
#字符串时间 年
#字符串时间 ---》 结构化时间 # def first_day(f):
# str_t = time.strftime('%Y-%m')
# tup_t = time.strptime(str_t, '%Y-%m')
# stamp_t = time.mktime(tup_t)
# return stamp_t
# f = first_day(f)
# print(f) #当前年月日的凌晨12点对应的时间戳时间是多少
#当前年月日的凌晨12点对应的时间戳差了多少s # 公司 客户资源管理系统
#没有公网的服务器 在学校里能用 出了就用不了 没钱
#北京校区招人 上海校区招人 #每天晚上12点
#用的是当天晚上的时间戳作为文件名
#随便就用了
9分离出最里面的括号
'1-2*((60-30+(9-2*5/3+7/3*99/4*2998+10*568/14)*(-40/5))-(-4*3)/(16-3*2))'
#\(^[()]+\) #四个最里面的括号 都具有的属性是 里面都没有()
^的用法(在中括号里为非的意思) 后面的元素都管用 换句话说: 碰到()都是非 [^12345] 就是12345都不匹配
#\(-?(\D?\d+\D?\d+)+\)这个也可以
'1-2*((60-30+(9-2*5/3+7/3*99/4*2998+10*568/14)*(-40/5))-(-4*3)/(16-3*2))'
深入浅出——指言论或文章的观点主题意义深刻,但在语言文字的表达方式上却浅显易懂。
day16正则表达式作业的更多相关文章
- day16正则表达式作业详解
1.正则表达式练习题 点击查看详细内容 作业的讲解 1.匹配整数或者小数(包括正数和负数) -?\d+.\d+|-?\d+ -?\d+(\.\d+)? 2.匹配年月日日期 格式2018-12-6 #找 ...
- 20155333 2016-2017-2《Java程序设计》课程总结
20155333 2016-2017-2<Java程序设计>课程总结 (按顺序)每周作业链接汇总 预备作业1:你期望的师生关系是什么? 预备作业2:体会做中学(Learing By Doi ...
- day21 Pyhton学习 模块
一.模块:就是一个包含了python定义和声明的文件,文件名是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1.使用python编写的代码(.py文件) 2.已被编译为共 ...
- 正则表达式+XML+反射+设计模式作业
正则表达式+XML+反射+设计模式作业 一. 填空题 Class.forName('com.bjsxt.stumgr.entity.Student').newInstance( ); 语句的作用 ...
- Python 迭代器&生成器,装饰器,递归,算法基础:二分查找、二维数组转换,正则表达式,作业:计算器开发
本节大纲 迭代器&生成器 装饰器 基本装饰器 多参数装饰器 递归 算法基础:二分查找.二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - ...
- day16 python模块 正则表达式
day16 python 一.模块 1.什么是模块 是一组功能的集合 2.模块的类型 内置模块; python提供的, 解释器自带的 ...
- [Day16]常用API(正则表达式、Date类、DateFormat类、Calendar类)
1.正则表达式(Regular Expression,regex)-是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串 1.1匹配规则: (1)字符:x -代表的 ...
- Day16作业及默写
hashlib模块,写函数校验两个文件是否内容相同(如果这两个文件很大) import hashlib md5 = hashlib.md5() md5.update(b'hello') md5.upd ...
- 老男孩Day16作业:登录、注册、后台管理页面(动态)
一.作业需求: 1.后台管理主界面(左边菜单框.(全选.反选)框.返回顶部按钮) 2.老男孩登录.注册页面 二.博客地址:https://www.cnblogs.com/catepython/p/93 ...
随机推荐
- NumPy Ndarray 对象
NumPy Ndarray 对象 NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引. ndarray 对象是用于存放 ...
- PAT1020 (已知中序,后序遍历转前序遍历)
已知后序与中序输出前序(先序):后序:3, 4, 2, 6, 5, 1(左右根)中序:3, 2, 4, 1, 6, 5(左根右) 已知一棵二叉树,输出前,中,后时我们采用递归的方式.同样也应该利用递归 ...
- POJ-3078.Shuffle'm Up(简单模拟题)
这道题做了有四个小时吧,今天一整天都处于边玩边学的状态,我很是不喜欢...一开始用了20分钟模拟,过了样例后TLE了,就在考虑是不是判断是否重复判定的数组开大了,结果一直蛙,后面想到了map判重,结果 ...
- c# 文件过大时清空原有内容重新写入
FileStream fs = new FileStream("E:\\Test\\HistoryData.txt", FileMode.Append, FileAccess.Wr ...
- Delphi异步编程:匿名线程与匿名方法
异步编程,是项目中非常有用的而且常用的一种方法,大多以线程实现. 而Delphi传统方法使用线程略为烦琐,好在其后续版本中,提供一些方法,简化一些操作. 几个概念: 匿名线程:TAnonymousTh ...
- [leetcode]387. First Unique Character in a String第一个不重复字母
Given a string, find the first non-repeating character in it and return it's index. If it doesn't ex ...
- jsplumb踩坑
一,,关于连线器label 我们全局设置中可以用 getInstance 实例化新对象 也可以通过 importDefaults 实例化新对象 当我想要给连线器上添加标签 每个连线器上的标签都不一样 ...
- Oracle性能优化3-sql优化一定要等价
做sql优化的前提瞧见是sql等价 1.MAX MIN写法的分与合 drop table t purge; create table t as select * from dba_objects; a ...
- c#按照回车换行符分割字符串
string str="aaa\r\nbbscccjdddseee"; string[] sArray=str.Split(new char[2] {'\r','\n'}); 和用 ...
- Dottrace 10.0.2 使用心得
开发环境vs2015 软件:JetBrains dotTrace 10.0.2 刚开始不知道怎么下手,多看了一会还有一位仁兄的解释.算是对某个功能小有入门了. 当前会查看某个方法在抓取快照时间它的执行 ...