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

Python第五章实验报告

时间:2022-09-29 22:13:05浏览次数:45  
标签:re Python 如下 程序员 实例 第五章 print 实验报告 ----------#

一、实验题目

Python第五章实例和实战作业

二、实验目的和要求

1.熟悉Pycharm的运行环境

2.学习并掌握Python的字符串及正则表达式

三、主要仪器设备

联想小新air15

硬件:AMD R7 5700U

软件:Windows11操作系统

四、实验内容

完成第五章实例01-10,5.7实战

利用Pycharm完成Python实验报告

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

代码如下:

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

代码运行结果如下:

 

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

代码如下:

#----------实例02:截取身份证号码中的出生日期----------#
programmer_1 = '你知道我的生日吗?'       #程序员甲问程序员乙的台词
print('程序员甲说:',programmer_1)       #输出程序员甲的台词
programmer_2 = '输入你的身份证号码。'      #程序员乙的台词
print('程序员乙说:',programmer_2)       #输出程序员乙的台词
idcard = '123456199006277890'          #定义保存身份证号码的字符串
print('程序员甲说:',idcard)             #程序员甲说出身份证号码
birthday = idcard[6:10] + '年' + idcard[10:12] + '月' + idcard[12:14] + '日'   #截取生日
print('程序员乙说:','你是' + birthday + '出生的,所以你的生日是' + birthday[5:])

代码运行结果如下:

 

实例03:输出被@的好友名称
代码如下:
#----------实例03:输出被@的好友名称----------#
str1 = '@明日科技 @扎克伯格 @俞敏洪'
list1 = str1.split(' ')     #用空格分割字符串
print('您@的好友有:')
for item in list1:
    print(item[1:])         #输出每个好友名时,去掉@符号
代码运行结果如下:

实例04:通过好友列表生成全部被@的好友
代码如下:
#----------实例04:通过好友列表生成全部被@的好友----------#
list_friend = ['明日科技','扎克伯格','俞敏洪','马云','马化腾']      #好友列表
str_friend = ' @'.join(list_friend)     # 用空格+@符号进行连接
at = '@' + str_friend                   #由于使用join()方法时,第一个元素前不加分隔符,所偶一需要在前面加上@符号
print('您要@的好友:',at)
代码运行结果如下:

 

实例05:不区分大小写验证会员是否唯一
代码如下:
#----------实例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:格式化不同的数值类型数据
代码如下:
#----------实例06:格式化不同的数值类型数据----------#
import math             #导入Python的数学模块
#以货币形式显示
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))
代码运行结果如下:

 

实例07:验证输入的手机号码是否为中国移动的号码
代码如下:
#----------实例07:验证输入的手机号码是否为中国移动的号码----------#
import re           #导入Python的re模块
pattern = r'(13[4-9]\d{8})$|(15[01289]\d{8})$'
mobile = '13634222222'
match = re.match(pattern,mobile)        #进行模式匹配
if match == None:                       #判断是否为None,为真表示匹配失败
    print(mobile,'不是有效的中国移动手机号码。')
else:
    print(mobile,'是有效的中国移动手机号码。')
mobile = '13144222221'
match = re.match(pattern,mobile)        #进行模式匹配
if match == None:                       #判断是否为None,为真表示匹配失败
    print(mobile,'不是有效的中国移动手机号码。')
else:
    print(mobile,'是有效的中国移动手机号码。')
代码运行结果如下:

 

实例08:验证是否出现危险字符
代码如下:
#----------实例08:验证是否出现危险字符----------#
import re                                   #导入Python的re模块
pattern = r'(黑客)|(抓包)|(监听)|(Trojan)'    #模式字符串
about = '我是一名程序员,我喜欢看黑客方面的图书,想研究一下Trojan。'
match = re.search(pattern,about)              #进行模式匹配
if match == None:                             #判断是否为None,为真表示匹配失败
    print(about,'@ 安全!')
else:
    print(about, '@ 出现了危险词汇!')
about = '我是一名程序员,我喜欢看计算机网络方面的图书,喜欢开发网站。'
match = re.match(pattern,about)              #进行模式匹配
if match == None:                             #判断是否为None,为真表示匹配失败
    print(about, '@ 安全!')
else:
    print(about, '@ 出现了危险词汇!')
代码运行结果如下:

 

 

实例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))
代码运行结果如下:

 

 


 

 

 

标签:re,Python,如下,程序员,实例,第五章,print,实验报告,----------#
From: https://www.cnblogs.com/Shing-gyl/p/16743269.html

相关文章

  • C++调用python(二)
    目录三、调用函数四、调用类五、调用SSD目标检测算法六、遇到的错误参考链接:正文一、基本使用方法二、调用简单语句三、调用函数四、调用类五、调用SSD目标......
  • 浅析 C++ 调用 Python 模块
    浅析C++调用Python模块作为一种胶水语言,Python能够很容易地调用C、C++等语言,也能够通过其他语言调用Python的模块。Python提供了C++库,使得开发者能很方便......
  • C++ CMake 使用 Python3
    C++CMake使用Python3CMakeListst设置#如果使用的是非系统目录下的Python可以通过指定Python3_ROOT_DIR改变查找路径#set(Python3_ROOT_DIR"${CMAKE_SOURCE_D......
  • Python操作数据库
    python使用MySQL主要有两个模块,pymysql(MySQLdb)和SQLAchemy。pymysql(MySQLdb)为原生模块,直接执行sql语句,其中pymysql模块支持python2和python3,MySQLdb只支持python2,两者......
  • python实现找到列表中第二大的数字
    '''给定一个长度大于3的列表,里面数字是无序的,且数字不重复,如何找到第二大的数字?例如列表a=[1,3,6,2,7,9],找到的结果就应该是:7下面给出六种解决方案'''a=[1,3,6......
  • Python基础7
    今日内容概要数据类型内置方法理论整型相关操作浮点型相关操作字符串相关操作列表相关操作可变与不可变今日内容详细数据类型内置方法理论数据类型......
  • Python3安装psutil报错
    报错:pip3installpsutilcompilationterminated.error:command'gcc'failedwithexitstatus1解决:yuminstallpython3-devel继续安装:[root@centos......
  • 快手Python笔试题【杭州多测师】【杭州多测师_王sir】
    deftest():foriinrange(10):ifi%2!=0:print("helloworld")else:passtest()#调用函数packagecom.duoc......
  • 学习python-Day66
    今日学习内容前后端开发模式API接口postman使用序列化和反序列化restful规范drf:第三方app>>>快速实现符合restful规范的接口视图类,都是继承APIView......
  • python如何制作并安装自建包?
    一、依赖首先检查python是否安装了wheel、setuptools包,没有则使用pip安装pipinstallwheel--force-reinstallpipinstallsetuptools--force-reinstall 二、准......