Python第五章实例和实战作业
实例01:使用字符串拼接输出一个关于程序员的笑话
代码如下:
代码运行结果如下:
实例02:截取身份证号码中的出生日期
代码如下:
代码运行结果如下:
实例03:输出被@的好友名称
代码如下:
代码运行结果如下:
实例04:通过好友列表生成全部被@的好友
代码如下:
代码运行结果如下:
实例05:不区分大小写验证会员是否唯一
代码如下:
代码运行结果如下:
实例06:格式化不同的数值类型数据
代码如下:
代码运行结果如下:
实例07:验证输入的手机号码是否为中国移动的号码
代码如下:
代码运行结果如下:
实例08:验证是否出现危险字符
代码如下:
代码运行结果如下:
实例09:替换出现的危险字符
代码如下:
#-----------实例09:替换出现的危险字符----------# import re #导入Python的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 = '小卒一去不复返' str6 = ' ,' str7 = ' 。' print('象棋口诀:') print(str1 + str6) print(str2 + str6) print(str3 + str6) print(str4 + str6) print(str5 + str7)
代码运行结果如下:
实战二:判断车牌归属地
代码如下:
#----------实战二:判断车牌归属地----------# string = '津A·12345',\ '沪A·23456',\ '京A·34567' for i in range(len(string)): print('第' + str(i+1) + '张车牌号码:\n' + string[i]) if string[i][0] == '津': print('这张号牌的归属地:天津') if string[i][0] == '沪': print('这张号牌的归属地:上海') if string[i][0] == '京': print('这张号牌的归属地:北京')
代码运行结果如下:
实战三:模拟微信抢红包
代码如下:
#----------实战三:模拟微信抢红包----------# import random import decimal print('----------模拟微信抢红包----------') money = input("请输入要装入红包的总金额:") nums = int(input("请输入红包的个数(个):")) money_all = decimal.Decimal(money) for num in range(1,nums+1): if num == nums: last = money_all else: last = money_all/2*decimal.Decimal(str(random.random())) last = last.quantize(decimal.Decimal('0.00')) money_all = money_all - last print('第%d个红包:%s' %(num,str(last)))
代码运行结果如下:
实战四:显示实时天气预报
代码如下:
#----------实战四:显示实时天气预报----------# weather = '2018年4月17日 \t天气预报:{:s} \t{:d}℃~{:d}℃ \t微风转西风3~4级' print(weather.format('晴',20,7)) print('08:00 \t天气预报:{:s} \t{:d}℃ \t微风'.format('晴',13)) print('12:00 \t天气预报:{:s} \t{:d}℃ \t微风'.format('晴',19)) print('16:00 \t天气预报:{:s} \t{:d}℃ \t西风3~4级'.format('晴',18)) print('20:00 \t天气预报:{:s} \t{:d}℃ \t西风3~4级'.format('晴',15)) print('00:00 \t天气预报:{:s} \t{:d}℃ \t微风'.format('晴',12)) print('04:00 \t天气预报:{:s} \t{:d}℃ \t微风'.format('晴',9))
代码运行结果如下:
课后作业:
1.匹配8位密码,既要有数字,又要有字母,也要有字符
代码如下:
#----匹配8位密码,既要有数字,又要有字母,也要有字符----# import re pattern = r'^\w{8}$' print('请输入8位密码:') string = input() match = re.match(pattern,string,re.I) print(match) print('匹配值的起始位置:',match.start()) print('匹配值的结束位置:',match.end()) print('匹配位置的元组:',match.span()) print('要匹配的字符串:',match.string) print('匹配值数据:',match.group())
代码运行结果如下:
2.匹配身份证号码是属于广东省的
代码如下:
#----------匹配身份证号码是属于广东省的----------# import re pattern = r'(44[0-9]{4}\d{12})' print('请输入18位身份证:') string = input() match = re.match(pattern,string) if match == None: print(string,'不属于广东省身份证') else: print(string, '属于广东省身份证')
代码运行结果如下:
标签:chapter,string,Python,如下,代码运行,re,match,print,homework From: https://www.cnblogs.com/FnmletN/p/16767596.html