首页 > 编程语言 >Python第五章实验报告

Python第五章实验报告

时间:2022-10-04 13:58:22浏览次数:50  
标签:about item Python pattern re 第五章 print 实验报告 match

一.实验项目名称:《零基础学Python》第五章实战、实例以及两道作业题
二.实验目的和要求:了解和掌握操作字符串的方法和正则表达式的应用
三.实验环境:IDLE(Python 3.9 64-bit)
四.实验过程:

  • 实例01 使用字符串拼接输出一个关于程序员的笑话
点击查看代码
programmer_1='程序员甲:搞IT太辛苦了,我想换行......怎么办?'
programmer_2='程序员乙:敲一下回车键'
print(programmer_1+'\n'+programmer_2)

运行结果:

  • 实例02 截取身份证号码中的出生日期
点击查看代码
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:])

运行结果:

  • 实例03 输出被@的好友的名称
点击查看代码
str1='@明日科技 @扎克伯格 @俞敏洪'
list1=str1.split(' ')
print('您@的好友有:')
for item in list1:
    print(item[1:])

运行结果:

  • 实例04 通过好友列表生成全部被@的好友
点击查看代码
list_friend=['明日科技','扎克伯格','俞敏洪','马云','马化腾']
str_friend=' @'.join(list_friend)
at='@'+str_friend
print('您要@的好友:',at)

运行结果:

  • 实例05 不区分大小写验证会员名是否唯一
点击查看代码
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,'可以注册!')


运行结果:

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

运行结果:

  • 实例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,'是有效的中国移动手机号码。')


运行结果:

  • 实例08 验证是否出现危险字符
点击查看代码
import re
pattern=r'(黑客)|(抓包)|(监听)|(Trojan)'
about='我是一名程序员,我喜欢看黑客方面的图书,想研究一下Trojan。'
match=re.search(pattern,about)
if match==None:
    print(about,'@安全!')
else:
    print(about,'@出现了危险词汇!')
about='我是一名程序员,我喜欢看计算机网络方面的图书,喜欢开发网站。'

match=re.search(pattern,about)
if match==None:
    print(about,'@安全!')
else:
    print(about,'@出现了危险词汇!')

运行结果:

  • 实例09 替换出现的危险字符
点击查看代码
import re
pattern=r'(黑客)|(抓包)|(监听)|(Trojan)'
about='我是一名程序员,我喜欢看黑客方面的图书,想研究一下Trojan。\n'
sub=re.sub(pattern,'@_@',about)
print(sub)
about='我是一名程序员,我喜欢看计算机网络方面的图书,喜欢开发网站。'
sub=re.sub(pattern,'@_@',about)
print(sub)

运行结果:

  • 实例10 输出被@的好友名称(正则表达式)
点击查看代码
import re
str1='@明日科技 @扎克伯格 @俞敏洪'
pattern=r'\s*@'
list1=re.split(pattern,str1)
print('您@的好友有:')
for item in list1:
    if item!="":
        print(item)

运行结果:

  • 实战01 打印象棋口诀
点击查看代码
str1='马走日 象走田 车走直路炮翻山 士走斜线护将边'
str2='小卒一去不回还'
list1=str1.split(' ')
print('象棋口诀:')
for item in list1:
    print(item+',')
print(str2+'。')

运行结果:

  • 实战02 判断车牌归属地
点击查看代码
chepai=["津A·12345", "沪A·23456", "京A·34567"]
for i in range(3):
   print('第' + str(i + 1) + '张车牌号码:')
   print(chepai[i])
   if chepai[i][0]=='津':
       print('这张号牌的归属地:天津')
   elif chepai[i][0]=='沪':
       print('这张号牌的归属地:上海')
   elif chepai[i][0]=='京':
       print('这张号牌的归属地:北京')

运行结果:

  • 实战03 模拟微信抢红包
点击查看代码
from decimal import Decimal
import random
print('------------模拟微信抢红包-----------')
ZJE=input('请输入要装入红包的总金额(元):')
i=input('请输入红包个数(个):' )
min=0.01
je_list=[]
zje=Decimal(ZJE)
i=Decimal(i)
min=Decimal(str(min))
if zje>i*min:
    for x in range(1,int(i)):
        anquan_zje=(zje-(i-x)*min)
        item_inf=min*100
        item_sup=int(anquan_zje*100)
        je=item_inf/100 if item_inf>item_sup else (Decimal(random.randint(item_inf,item_sup)))/100
        zje-=je
        je_list.append(je)
    je_list.append(zje)
    random.shuffle(je_list)
    for x in range(len(je_list)):
        print('第'+str(x+1)+'个红包:',str(je_list[x]),'元')


运行结果:

  • 实战04 显示实时天气预报
点击查看代码
print('2018年4月17日   天气预报:晴  20℃~7℃  微风转西风3~4级')
template='{:0>2s}\t天气预报:晴 {:s}℃\t {:s}'
context1=template.format('08:00','13','微风')
context2=template.format('12:00','19','微风')
context3=template.format('16:00','18','西风3~4级')
context4=template.format('20:00','15','西风3~4级')
context5=template.format('00:00','12','微风')
context6=template.format('04:00','9','微风')
print(context1)
print(context2)
print(context3)
print(context4)
print(context5)
print(context6)

运行结果:

  • 作业01
    匹配出由“数字、字母、特殊字符”这三种字符组成的8位密码
点击查看代码
import re
pattern = r'^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)^.{8}$'
string=input('请输入由数字、字母、特殊字符组成的8位密码:')
a=re.findall(pattern,string)
if a==[]:
    print('匹配失败')
else:
    print(a,'匹配成功')


运行结果:

  • 作业02
    匹配出身份证属于广东省的身份证号码(提示:广东省身份证的开头两位数字为44)
点击查看代码
#匹配出身份证属于广东省的身份证号码(提示:广东省身份证的开头两位数字为44)
import re
pattern=r'(44[0-9]\d{15})$|(44[0-9]\d{18})$|(44[0-9]\d{17})(\d|X|x)$'
haoma=input('请输入身份证号码:')
match=re.match(pattern,haoma)
if match==None:
    print(haoma,'匹配失败')
else:
    print(haoma,'是广东省的身份证号码')


运行结果:

标签:about,item,Python,pattern,re,第五章,print,实验报告,match
From: https://www.cnblogs.com/xiaomianlang/p/16744764.html

相关文章

  • python生成二维码
    前言二维码在我们的生活中可以说是必不可少的,不单单是手机支付、其它很多地方也都需要扫描二维码。那么下面我们就来看看如何使用python来生成二维码、以及识别二维码。......
  • Python中优雅的字典技巧总结
    1.引言在日常工作中,大家都需要进行字典的相关操作,对于某些初学者,经常会写一堆繁琐的代码来实现某项简单的功能。本篇文章重点介绍一些在Python中关于字典的一些简单技巧,熟......
  • skywalking 实现收集基于python的Django项目链路追踪案例
    一、python3环境设置1.1、安装python3apt-getupdateaptinstallpython3-pip-ypipinstall"apache-skywalking"[root@skywalking-agent-07~]#pipinstall"apache-s......
  • 0555-6.1.0-使用Python并发访问认证和非认证集群
    作者:李继武1文档编写目的Fayson在前面的文章《​​0553-6.1.0-如何使用Java代码同时访问安全和非安全CDH集群​​》和《​​0554-6.1.0-同一java进程中同时访问认证和非认证......
  • python在VScode中中文输出乱码的解决方案
    ————————————————版权声明:本文为CSDN博主「Rhett.Yao」的原创文章。原文链接:https://blog.csdn.net/m0_63109538/article/details/126419637——————......
  • python系列教程196——参数匹配
    声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于......
  • 【Web开发】Python实现Web服务器(Bottle框架)
    Django-TheWebframeworkforperfectionistswithdeadlines.Flask-ThePythonmicroframeworkforbuildingwebapplications.Tornado-TornadoisaPythonw......
  • Python代码调试方法
    对于每个程序开发者来说,调试几乎是必备技能。常用Pycharm编辑器里的方法有Print大法、log大法,但缺少类似Matlab的变量区,给代码调试带来不便,特别是在有函数的情况下,变量无法......
  • python 批量删除超过某时长的视频 (改)
    importos.pathfrommoviepy.editorimportVideoFileClipfromtqdmimporttqdmdefget_file_names(path):return[os.path.join(path,f)forfinos.listdir(......
  • python partition函数_Python partition()函数的使用方法
    一、partition()函数的语法格式string_name.partition(separator)(1)string_name为要被分隔的字符串或字符串变量。(2)该函数有一个字符串类型的参数:separator,该参数用于指......