1、实例1:使用字符串拼接输出一个关于程序员的笑话
代码:
programmer_1 = '程序员甲:搞IT太辛苦了,我想换行……怎么办?' programmer_2 = '程序员乙:敲一下回车键' print(programmer_1 + '\n' + programmer_2)
运行结果:
2、实例2:截取身份证号码中的出生日期
代码:
programer_1 = "你知道我的生日吗?" # 程序员甲问程序员乙的台词 print("程序员甲说:",programer_1) # 输出程序员甲的台词 programer_2 = "输入你的身份证号码。" # 程序员乙的台词 print("程序员乙说:",programer_2) # 输出程序员乙的台词 idcard ="123456199006277890" # 定义保存身份证号码的字符串 print("程序员甲说:",idcard) # 程序员甲说出身份证号码 birthday = idcard[6:10] + "年" + idcard[10:12] + "月" + idcard[12:14] + "日" # 截取生日 print("程序员乙说:你是" + birthday + "出生的,所以你的生日是" + birthday[5:])
运行结果:
3、实例3:输出被@的好友名称
代码:
str1 = '@明日科技 @扎克伯格 @俞敏洪' list1 = str1.split(' ') print('您@的好友有:') for item in list1: print(item[1:])
运行结果:
4、实例4:通过好友列表生成全部被@的好友
代码:
list_friend = ['明日科技','扎克伯格','俞敏洪','马云','马化腾'] str_friend = ' @'.join(list_friend) at = '@'+str_friend print('您要@的好友:',at)
运行结果:
5、实例5:不区分大小写验证会员名是否唯一
代码:
username_1 = '|MingRi|mr|mingrisoft|WGH|MRSoft|' username_2 =username_1.lower() regname_1 = input('输入要注册的会员名称:') regname_2 = '|' + regname_1.lower() + '|' if regname_2 in username_2: print('会员名',regname_1,'已经存在!') else: print('会员名',regname_1,'可以注册!')
运行结果:
6、实例6:格式化不同的数值类型数据
代码:
import math print('1251+3950的结果是(以货币形式显示):¥{:,.2f}元'.format(1251+3950)) print('{0:.1f}用科学计数法表示:{0:E}'.format(120000.1)) print('π取五位小数:{:.5f}'.format(math.pi)) print('{0:d}的16位进制结果是:{0:#x}'.format(100)) print('天才是由{:.0%}的灵感,加上{:.0%}的汗水。'.format(0.01,0.99))
运行结果:
7、实例7:验证输入的手机号码是否为中国移动的号码
代码:
import re pattern = r'(13[4-9]\d{8})$|(15[01289]\d{8})$' mobile = '13634222222' match = re.match(pattern, mobile) if match == None: print(mobile, '不是有效的中国移动手机号码。') else: print(mobile, '是有效的中国移动手机号码。') mobile = '13144222221' match = re.match(pattern,mobile) if match == None: print(mobile, '不是有效的中国移动手机号码。') else: print(mobile, '是有效的中国移动手机号码。')
运行结果:
8、实例8:验证是否出现危险字符
代码:
import re pattern = r"(黑客)|(抓包)|(监听)|(Trojan)" about = "我是一名程序员,我喜欢看黑客方面的图书,想研究一下Trojan。" match = re.search(pattern,about) if match == None: print(about,"@ 安全!") else: print(about,"@ 出现了危险词汇!") about = "我是一名程序员,我喜欢看计算机网络方面的图书,喜欢开发网站。" match = re.match(pattern,about) if match == None: print(about,"@ 安全!") else: print(about,"@ 出现了危险词汇!")
运行结果:
9、实例9:替换出现的危险字符
代码:
import re pattern = r"(黑客)|(抓包)|(监听)|(Trojan)" about = "我是一名程序员,我喜欢看黑客方面的图书,想研究一下Trojan。\n" sub = re.sub(pattern,"@_@",about) print(sub) about = "我是一名程序员,我喜欢看计算机网络方面的图书,喜欢开发网站。" sub = re.sub(pattern,"@_@",about) print(sub)
运行结果:
10、实例10:输出被@的好友名称(应用正则表达式)
代码:
import re str1 = "@明日科技 @扎克伯格 @俞敏洪" pattern = r"\s*@" list1 = re.split(pattern,str1) print("您@的好友有:") for item in list1: if item !="": print(item)
运行结果:
实战一:打印象棋口诀
代码:
str1 = '马走日' str2 = '象走田' str3 = '车走直路炮翻山' str4 = '士走斜线护将边' str5 = '小卒一去不回还' s1 = ',' s2 = '。' print("象棋口诀:") print(str1 + s1) print(str2 + s1) print(str3 + s1) print(str4 + s1) print(str5 + s2)
运行结果:
实战二:判断车牌归属地
代码:
str1='津A·12345','沪A·23456','京A·34567' for i in range(len(str1)): print('第',str(i+1)+'张车牌号码:\n'+str1[i]) if str1[i][0]=='津': print('这张号牌的归属地:天津') if str1[i][0]=='沪': print('这张号牌的归属地:上海') if str1[i][0]=='京': print('这张号牌的归属地:北京')
运行结果:
实战三:模拟微信抢红包
代码:
import random import decimal money=input("请输入要装入红包的总金额:") money_total=decimal.Decimal(money) nums=int(input("请输入红包的个数:")) for num in range(1,nums+1): if num==nums: last=money_total else: last=money_total/2*decimal.Decimal(str(random.random())) last=last.quantize(decimal.Decimal('0.00')) money_total=money_total-last print("第%d个红包:%s"%(num,str(last)))
运行结果:
实战四:显示实时天气预报
代码:
weather='2018年4月17日\t天气预报:{:s}\t20℃~7℃\t微风转西风3~4级\n\ 08:00\t天气预报:{:s}\t13℃\t微风\n\ 12:00\t天气预报:{:s}\t19℃\t微风\n\ 16:00\t天气预报:{:s}\t18℃\t西风3~4级\n\ 20:00\t天气预报:{:s}\t15℃\t西风3~4级\n\ 00:00\t天气预报:{:s}\t12℃\t微风\n\ 04:00\t天气预报:{:s}\t9℃\t微风' context=weather.format('晴','晴','晴','晴','晴','晴','晴') print(context)
运行结果:
1:匹配出由“数字、字母、特殊字符”这三种字符组成的8位密码
代码:
import re pattern = r"^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)^.{8}$" passward = ["Assdf15341.,","0511@ltt","20021102"] for item in passward: match = re.search(pattern, item) if match == None: print(item,"不是由数字、字母、特殊字符组成的8位密码") else: print(item,"是由数字、字母、特殊字符组成的8位密码")
运行结果:
2:正则表达式(re模块)实践二:匹配出身份证属于广东省的身份证号码(提示:广东省身份证的开头两位数字为44)
代码:
import re pattern = r"(^44\d{13}$)|(^44\d{16}$)|(^44\d{15})(\d|X|x)$" id = ["440883200211025017","441251975456456", "44279212345689230X","440882012447897397", "402112321534556","448899556611448800"] for item in id: if (len(item) == 15) or (len(item) == 18): search = re.search(pattern, item) if search == None: print(item + "不是广东省的身份证号码,头两位数字为:" + item[0:2]) else: print(item + "是广东省的身份证号码,头两位数字为:" + item[0:2]) else: print(item + "不符合身份证号码格式")
运行结果:
标签:re,Python,pattern,程序员,第五章,item,print,match From: https://www.cnblogs.com/lhtt/p/16809331.html