首页 > 编程语言 >python5-eg

python5-eg

时间:2022-10-05 09:22:05浏览次数:62  
标签:about 程序员 re pattern eg print python5 match

1 实例01
2 programmer_1 = '程序员甲:搞IT太辛苦了,我想换行......怎么办?'
3 programmer_2 = '程序员乙:敲一下回车键'
4 print(programmer_1 + '\n' + programmer_2)

实例02(截取身份证号码中的出生日期)

1 programmer_1 = '你知道我的生日吗?' #程序员甲问程序员乙的台词 2 print('程序员甲说:',programmer_1) #输出程序员甲的台词 3 programmer_2 = '输入你的身份证号码。' #程序员乙的台词 4 print('程序员乙说:',programmer_2) #输出程序员乙的台词 5 idcard = '123456199006277890' #定义保存身份证号码的字符串 6 print('程序员甲说:',idcard) #程序员甲说出身份证号码 7 birthday = idcard[6:10] + '年' + idcard[10:12] + '月' + idcard[12:14] + '日' #截取生日 8 print('程序员乙说:','你是' + birthday + '出生的,所以你的生日是' + birthday[5: ])

1 实例03(输出被@的好友名称)
1 str1 = '@明日科技 @扎克伯格 @俞敏洪
2 list1 = str1.split(' ') #用空格分割字符串
3 print('您@的好友有:'4 for item in list1:
5 print(item[1: ]) #输出每个好友名时,去掉@符号

 

 

实例04(通过好友列表生成全部被@的好友)

1 list_friend = ['明日科技','扎克伯格','俞敏洪','马云','马化腾'] #好友列表 2 str_friend = '@'.join(list_friend) #用空格+@符号进行连接 3 at = '@'+str_friend #由于使用join()方法时,第一个元素前不加分隔符,所以需要再前面加上@符号 4 print('您要@的好友:',at)

 

 

 1 实例05 (不区分大小写验证会员名是否唯一) 2 #假设已经注册会员名称保存再一个字符串中,以“|”进行分隔
 3 username_1 = '|MingRi|mr|mingrisoft|WGH|MRSoft|'
 4 username_2 = username_1.lower()
 5 regname_1 = input('输入要注册的会员名称:')
 6 regname_2 = '|' + regname_1.lower() +'|'
 7 if regname_2 in username_2:
 8     print('会员名',regname_1,'已经存在!')
 9 else:
10     print('会员名',regname_1,'可以注册')

 

实例06()

1 import math 2 #以货币形式显示 3 print('1251+3950的结果是(以货币形式显示:¥{:,2f}元'.format(1251+3950)) 4 print('{0: . 1f}用科学计数法表示:{0:E}'.format(120000.1)) #用科学计数法表示 5 print('п取5位小数:{:.5f}'.format(math.pi)) #输出小数点后五位 6 print('{0:d}的16进制结果是:{0:#x}'.format(100)) #输出十六进制数 7 #输出百分比,并且不带小数 8 print('天才是由{:. 0%}的灵感,加上{:.0%}的汗水。'.format(0.01,0.99))

 

 

 

 

 

实例07(验证输入的手机号码时候为中国移动的手机号码)

1 import re #导入Python的re模块 2 pattern = r'(13[4-9]\d{8})$ |(15[01289]\d{8})$' 3 mobile = '13634222222' 4 match = re . match( pattern, mobile) #进行模式匹配 5 if match == None: #判断是否为None,为真表示匹配失败 6 print(mobile,'不是有效的中国移动手机号码。') 7 else: 8 print( mobile, '是有效的中国移动手机号码。') 9 mobile = '13144222221' 10 match = re. match(pattern, mobile ) #进行模式匹配 11 if match == None: #判断是否为None,为真表示匹配失败 12 print(mobile, '不是有效的中国移动手机号码.') 13 else: 14 print(mobile, '是有 效的中国移动手机号码。' )

 

实例08(验证是否出现危险字符)

1 import re #导入Python的re模块 2 pattern = r'(黑客)| (抓包)|(监听)|(Trojan)' #模式字符串 3 about = '我是一 名程序员,我喜欢看黑客方面的图书,想研究一下Trojan。' 4 match = re. search( pattern, about) #进行模式匹配 5 if match == None : #判断是否为None,为真表示匹配失败 6 print(about, '@安全!' ) 7 else: 8 print(about, '@ 出现了危险词汇! ') 9 about ='我是一.名程序员,我喜欢看计算机网络方面的图书,喜欢开发网站.' 10 match = re . match( pattern,about ) #进行模式匹配 11 if match == None : #判断是否为None,为真表示匹配失败 12 print(about, '@安全! ') 13 else: 14 print(about, '@ 出现了危险词汇! ')

 

实例09(替换出现的危险字符)

1 import re #导入Python的re模块 2 pattern = r'(黑客)|(抓包)|( 监听)|(Trojan)' #模式字符串 3 about ='我是一名程序员, 我喜欢看黑客方面的图书,想研究一下Trojan。 \n' 4 sub = re.sub(pattern, '@_ @', about) #进行模式替换 5 print(sub) 6 about ='我是一名程序员,我喜欢看计算机网络方面的图书,喜欢开发网站。' 7 sub = re.sub(pattern, '@_ @', about) #进行模式替换 8 print(sub) 9

 

实例10(输出被@的好友名称(应用正则表达式))
1 import re 2 str1 ='@明日科技@扎克伯格@俞敏洪' 3 pattern = r'\s*@' 4 list1 = re. split(pattern,str1) # 用空格和@或单独的@分割字符串 5 print('您@的好友有: ') 6 for item in list1: 7 if item !="": #输出不为空的元素 8 print(item) #输出每个好友名,

 

 

 

 

标签:about,程序员,re,pattern,eg,print,python5,match
From: https://www.cnblogs.com/ron312/p/16741806.html

相关文章

  • AtCoder Regular Contest 149(持续更新)
    Preface最近国庆在外面玩的有点high啊,欠了一篇AT和两篇CF没写,今天先浅浅写一下这场当时10.2号在外面玩得有点晚了,到寝室刚好比赛开始,晚饭都没吃就开干了主要是C写的太久......
  • KEGG图
    1.生信分析中KEGG图的作用是什么在生物信息学分析过程中,KEGG通路富集分析常常应用于差异表达基因的功能注释,了解差异表达基因的相关功能与作用通路。2. KEGG气泡图的解......
  • AtCoder Regular Contest 149
    A发现所有数字都相同的数一共只有\(10^6\)种,考虑枚举每种情况,关键在于如何判断一个数\(\bmodm\)是否为\(0\)。考虑\(9\bmod8=1\),而\(99\bmod8=(9\times10+9)\b......
  • AtCoder Beginner Contest 271
    AtCoderBeginnerContest271D-FlipandAdjust一共有\(N\)张牌,每一面都写着一个整数。卡\(i(1\lei\leN)\)前面写着整数\(a_i\),后面写着整数\(b_i\)。你可......
  • 程序块(Program Block)和时序区域(Timing Region)
    设计和测试平台都用module封装后,它们之间可能会出现竞争状态。这个问题的根源在于设计和测试平台的事件混合在同一个时间片内,我们希望存在一种方法可以在时间轴上分开这些......
  • AtCoder Regular Contest 137 D
    一道很好的题目,运用了很多不同的技巧。结论1:枚举变换次数\(k\),若\(A_{i}\)对答案有贡献,当且仅当\(C_{n-i+k-1}^{k-1}\equiv1\mod2\)。首先我们可以统计\(A_{p}\)对......
  • ToroiseGit/GitBash 设置提交信息模板设置
    导航:一、背景二、ToroiseGit实施方案:三、GitBash实施方案 一、背景:当使用git提交代码时,每次的提交信息固定,却又比较长不好记的时,还需要将模板的地址保存下来,如果能设置......
  • 【Vegas转载】PCTFREE和PCTUSED总结
    数据库块(databaseblock)是ORACLE逻辑分配空间的最底层,又称逻辑块、页或ORACLE块。数据库块是数据库使用和分配空间的最小单元,也可以说是使用的最小I/O单元,一个数据块与磁盘......
  • 痞子衡嵌入式:一个关于Segger J-Flash在Micron Flash固定区域下载校验失败的故事(SR寄
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是一个关于SeggerJ-Flash在MicronFlash固定区域下载校验失败的故事。痞子衡最近在支持一个i.MXRT117......
  • Integer
    【1】直接使用,无需导包java.lang类Integer【2】类的继承关系  【3】实现的接口  【4】这个类被final修饰,那么这个类不能有子类,不能被继承  【5】包装类......