金山学院信息与机电工程系实验报告实验1 Python程序基础练习

金山学院信息与机电工程系实验报告实验1 Python程序基础练习

实验1 Python程序基础练习
一、实验目的和要求
(1)掌握Python程序的基本格式与规范,掌握Python程序基本结构和基本数据类型的使用。
(2)熟悉pycharm的基本操作,理解Python程序结构的特点。
二、实验内容和原理
1、输入一个自然数,输出它的二进制、八进制、十六机制表示形式。
2、格式化输出以下内容,其中每列数据各占8个字符,标题行居中对齐,不足8字符用*号填充,其余内容居中对齐,效果如下:
学号 姓名 性别
10001 李雷 男
10002 韩梅梅 女
3、字符串内容为“Tomorrow is a good day”,编写程序截取字符串中的good并输出,并将Tomorrow替换成Today。
4、有一个字符串“Doing is better than saying”,编写程序对该字符串按照空格进行拆分,再对拆分后的结果进行合并连接成字符串。
5、“dsfs.c.asdf.123@126.comasfdsd.asf@qq.comasdf.sd.sadffds@163.com”提取这段文本中的有效邮箱,并输出结果。
三、实验环境

  1. 硬件:PC机;
  2. 软件:Windows操作系统、Python3.7及Pycharm。
    四、算法描述及实验步骤

#num_ transfor.py   //work1-1、输入一个自然数,输出它的二进制、八进制、十六机制表示形式。
n = eval(input(""))
print("二进制位:{:b}".format(n))
print("八进制位:{:o}".format(n))
print("十六进制位:{:x}".format(n))
#table.py   //work1-2 格式化输出以下内容,其中每列数据各占8个字符,标题行居中对齐,不足8字符用*号填充,其余内容居中对齐
print("{:*^8s} {:*^8s} {:*^8s}".format("姓名","学号","性别"))
print(" {:^8s}  {:^8s}  {:^8s}".format("10001","李雷","男"))
print(" {:^8s}  {:^8s} {:^8s}".format("10001","韩梅梅","女"))

#string_replace.py  //work1-3、字符串内容为“Tomorrow is a good day”,编写程序截取字符串中的good并输出,并将Tomorrow替换成Today。
str="Tomorrow is a good day"
#print(str.find("good"))
i =str.find("good")
j =str.find("good")+4
print(str[i:j])
print(str.replace("Tomorrow","Today"))

#string_join.py
'''work1-4:有一个字符串“Doing is better than saying”,编写程序对该字符串按照空格进行拆分,再对拆分后的结果进行合并连接成字符串。'''

str1="Doing is better than saying"
strs=str1.split()
print(strs)
str2="".join(strs)
print(str2)
#email.py
'''
work1:5、“dsfs.c.asdf.123@126.comasfdsd.asf@qq.comasdf.sd.sadffds@163.com”提取这段文本中的有效邮箱,并输出结果。
'''
import re
str1="dsfs.c .asdf.123@126.comasfdsd.asf@qq.comasdf.sd.sadffds@163.com"

strs=re.findall(r"[0-9a-z]+@[0-9a-z]+.com",str1)   #调试第二次
#strs=re.findall(r"[0-9a-z]+@[0-9a-z]+[.com]",str1)调试第一次
print("方法1、直接输出符合规则的邮箱序列: \n",strs)
print("方法2、在一行输出数组每一项值:")
'''方法2:在一行输出数组每一项值'''
print(strs[0],strs[1] ,strs[2])
print("方法3、利用for序列每循环让序列每项换行输出:")
'''方法3:利用for序列每循环让序列每一项输出得到换行输出的效果'''
for str in strs:
    print(str)

五、调试过程
1.调试无误
2.调试无误
3.调试无误,先用find()函数方法找到good字符串的起点i和终点位置j并输出i再赋值给i,j
进行测试结果正确再将输出find方法注释掉

4.调试无误
5.调试第一次效果:

修改代码为:

import re
str1="dsfs.c .asdf.123@126.comasfdsd.asf@qq.comasdf.sd.sadffds@163.com"
strs=re.findall(r"[0-9a-z]+@[0-9a-z]+.com",str1)   #调试第二次
#strs=re.findall(r"[0-9a-z]+@[0-9a-z]+[.com]",str1)调试第一次
print(strs)
print(strs[0],strs[1] ,strs[2])

六、实验结果
1.数值转换实验,结果如下所示:
在这里插入图片描述
2.输出有格式的列表,实验结果如下所示:
在这里插入图片描述
3.字符串截取和替换,实验结果如下所示:
在这里插入图片描述
4.字符串拆分与合并,实验结果如下所示:
在这里插入图片描述
5.选择正确邮箱实验结果有三种方法输出结果。如下所示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值