首页 > 编程语言 >Python第五章

Python第五章

时间:2022-10-20 11:57:04浏览次数:49  
标签:re Python pattern 程序员 第五章 item print match

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

相关文章

  • python当中自定义上下文管理器
    在python当中,我们知道with的用法,是一种上下文管理机制。比如withopen(file,'w')asf: 这种方法下,就集成了open和close.我们也可以自定义一个上下文管理器。方法一:c......
  • 第六章Python实训
    test6-1    test6-2    test6-3    test6-4    test6-5    test6-6    ......
  • python中的Xpath的安装及使用
    Xpath是一门在XML文档中查找信息的语言。XPath可用来在XML文档中对元素和属性进行遍历。XPath是W3CXSLT标准的主要元素,并且XQuery和XPointer都构建于XPath表......
  • python DeepRacer超参
    超级参数(Hyperparameters)参考了这篇文章https://rambo.blog.csdn.net/article/details/120643653训练的过程:1、小车根据经验操作或者随机操作,跑出界或者跑完一圈后为......
  • python DeepRacer生成最优路径和速度
    DeepRacer生成最优路径和速度获取赛道数据从github下载:https://github.com/aws-deepracer-community/deepracer-race-dataraw_data里边就是赛道数据,reinvent2018:是rein......
  • python-opencv cv.imshow 错误
    本文平台windows报错信息: cv2.imshow('imshow',img))Thefunctionisnotimplemented.RebuildthelibrarywithWindows,GTK+2.xorCocoasupport.Ifyouare......
  • python实验报告(第六周)
    一、实验目的1.掌握如何创建并调用一个函数,以及如何进行参数传递和指定函数的返回值等。2.掌握变量的作用域和匿名函数。二、实验环境python版本:3.10(64-bit)三、实验内......
  • python使用selenium操作浏览器
    重复的操作令手工测试苦不堪言,于是自动化测试出现了!作为web应用里最出名的自动化测试工具,selenium让web应用的测试轻松了很多。今天我们就来简单的介绍一下一些简单的sele......
  • DAPR in Python
    最近在部署项目时,用到了DAPR,记录一下。一、安装     本地安装  https://docs.dapr.io/zh-hans/getting-started/install-dapr-cli/      docker内安......
  • 二、Python入门
    一、第一句Python代码编辑/scripts目录下编辑hello.py输入1print("hello,word")执行hello.py 即python3/scripts/hello.pypython内部执行过程如下: ......