首页 > 其他分享 >第五章 字符串及正则表达式

第五章 字符串及正则表达式

时间:2022-10-07 21:56:28浏览次数:48  
标签:about re 正则表达式 pattern print 第五章 str 字符串 match

实例01 使用字符串拼接输出一个关于程序员的笑话

点击查看代码
programmer_1 = '程序员甲:搞IT太辛苦了,我想换行......怎么办?'
programmer_2 ='程序员乙:敲一下回车键'
print(programmer_1 +'\n'+ programmer_2)
运行结果

image

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

  截取字符串 string[start:end:step]
点击查看代码
p1 = '你知道我的生日吗?'
print("程序员甲说:",p1)
p2 = '输入你的身份证号码。'
print("程序员乙说:",p2)
idcard = '123456199006277890'
print("程序员甲说:",idcard)
bd = idcard[6:10] + '年' + idcard[10:12] + '月' + idcard[12:14] + '日'
print ('程序员乙说:','你是'+ bd +'出生的,所以你的生日是'+ bd[5:])
运行结果

image

实例03 输出被@的好友名称

  分割字符串 str.split(sep,maxsplit)
点击查看代码
str1 = '@明日科技 @扎克伯格 @俞敏洪'
list1 = str1.split(' ')
print ('您@的好友有:')
for item in list1:
    print(item[1:])

运行结果

image

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

  合并字符串 strnew = string.join(iterable)
点击查看代码
list_friend = ['明日科技','扎克伯格','俞敏洪','马云','马化腾']
str_friend = ' @'.join(list_friend)
at = '@'+str_friend
print("您要@的好友:",at)
运行结果

image

实例05 不区分大小写验证会员名是否唯一

将字符串的大写字母转换为小写字母 str.lower()
点击查看代码
#假设已经注册的会员名称保存在一个字符串中,以“|”进行分隔
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,'可以注册!')
运行结果

image

image

实例06 格式化不同的数值类型数据

点击查看代码
import math
print("1251+3950的结果是(以货币形式显示):¥{:,.2f}元".format(1251+3950))
print('{0:.1f}用科学计数法表示:{0:E}'.format(120000.1))
print('Π取5位小数:{:.5f}'.format(math.pi))
print("{0:d}的16进制结果是:{0:#x}".format(100))
print('天才是由{:.0%}的灵感,加上{:.0%}的汗水。'.format(0.01,0.99))
运行结果

image

实例07 验证输入的手机号码是否为中国移动的手机号码

点击查看代码
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,'是有效的中国移动手机号码。')

运行结果

image

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

点击查看代码
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,'@ 出现危险词汇!')
    
运行结果

image

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

点击查看代码
import re
pattern = r'(黑客)|(抓包)|(监听)|(Trojan)'
about = '我是一名程序员,我喜欢看黑客方面的书,想研究一下Trojan。'
sub = re.sub (pattern,'@_@',about)
print(sub)
about = '我是一名程序员,我喜欢看计算机网络方面的书,喜欢开发网站。'
sub = re.sub (pattern,'@_@',about)
print(sub)


运行结果

image

实例10 输出被@的好友名称(应用正则表达式)

点击查看代码
import re
str1 = '@明日科技 @俞敏洪 @扎克伯格'
pattern = r'\s*@'
list1 = re.split(pattern,str1)
print("您@的好友有:")
for item in list1:
    if item != " ":
        print(item,'\n')
运行结果

image

实战01 打印象棋口诀

点击查看代码
str_1 = '象棋口诀:'
str_2 ='马走日 ,'
str_3 ='象走田 ,'
str_4 ='车走直线炮翻山 ,'
str_5 ='士走直线护将边 ,'
str_6 ='小卒一去不回还 。'
print(str_1 +'\n'+ str_2+'\n'+ str_3+'\n'+ str_4+'\n'+ str_5+'\n'+ str_6)

运行结果

image

实战02 判断车牌归属地

点击查看代码
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('这张号牌的归属地:北京')
运行结果

image

实战03 模拟微信抢红包

点击查看代码
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)))
运行结果

image

实战04 显示实时天气预报

点击查看代码
weather='2022年10月4日\t 天气预报:{:s} \t 32℃~23℃ \t 微风转西风3~4级 \n \
08:00 \t 天气预报:{:s} \t 25℃ \t 微风 \n \
12:00 \t 天气预报:{:s} \t 31℃ \t 微风 \n \
16:00 \t 天气预报:{:s} \t 27℃ \t 西风3~4级 \n \
20:00 \t 天气预报:{:s} \t 25℃ \t 西风3~4级 \n \
00:00 \t 天气预报:{:s} \t 24℃ \t 微风 \n \
04:00 \t 天气预报:{:s} \t 23℃ \t 微风'
context = weather.format('晴','晴','晴','晴','晴','晴','晴')
print(context)

运行结果

image

标签:about,re,正则表达式,pattern,print,第五章,str,字符串,match
From: https://www.cnblogs.com/m7hhhhhh/p/16758344.html

相关文章