目录
1.编写代码,根据完整路径从路径中分离文件路径(只需要分离出一个路径整体即可),文件名及文件扩展名。
str1 = "D:\ \软件\ \python\ \python39\ \Tools\ \scripts\ \abitype.py"
2.编写函数hanzi_count(str)统计任意字符串中汉字的个数。
3.编写函数trans(str)实现字符串中数字转化为大写汉字。例如 "0123456789"转化为 "零壹贰叁肆伍陆柒捌玖"。
1.编写代码,根据完整路径从路径中分离文件路径(只需要分离出一个路径整体即可),文件名及文件扩展名。
str1 = "D:\ \软件\ \python\ \python39\ \Tools\ \scripts\ \abitype.py"
程序代码:
str1 = "D:\\软件\\python\\python39\\Tools\\scripts\\abitype.py"
lis = str1.split("\\")
lis_road = "\\".join(lis)
print(lis_road)
lis_road_end = lis_road.split("\\")
print(lis_road_end[len(lis_road_end)-1])
运行结果:
C:\ProgramData\Anaconda3\python.exe D:/blue6/01.py
D:\软件\python\python39\Tools\scripts\abitype.py
abitype.py
进程已结束,退出代码0
2.编写函数hanzi_count(str)统计任意字符串中汉字的个数。
程序代码:
import string
def hanzi_count(str):
a = 0
for i in str:
if (i in string.ascii_letters):
continue
elif(i.isalpha()):
a += 1
return a
b = hanzi_count("杜杜是笨蛋!")
print(f"汉字的个数为{b}个")
运行结果:
C:\ProgramData\Anaconda3\python.exe D:/blue6/02.py
汉字的个数为5个
进程已结束,退出代码0
3.编写函数trans(str)实现字符串中数字转化为大写汉字。例如 "0123456789"转化为 "零壹贰叁肆伍陆柒捌玖"。
程序代码:
number = str(int(input("请输入数字:")))
n = int(input("您在数字前输入了多少个零:"))
lis1 = ["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"]
number_end = number.zfill(len(number) + n)
number_endd = ""
def trans(str):
global number_endd
for i in range(0,len(str)):
number_endd += lis1[int(number_end[i])]
return number_endd
print(trans(number_end))
运行结果:
C:\ProgramData\Anaconda3\python.exe D:/blue6/03.py
请输入数字:0123456789
您在开头输入了多少个零:1
零壹贰叁肆伍陆柒捌玖
进程已结束,退出代码0
4.编写程序,校验键盘录入的电子邮箱是否合法,并测试。
程序代码1:
import re
mail_number = input("请输入您的QQ邮箱账号:")
if (re.match("[0-9]{5,11}@qq.com",mail_number)):
print("您输入的QQ邮箱账号有效!")
else:
print("您输入的QQ账号无效!")
运行结果:
C:\ProgramData\Anaconda3\python.exe D:/blue6/04.py
请输入您的QQ邮箱账号:5561616@ll
您输入的QQ账号无效!
进程已结束,退出代码0
运行结果:
C:\ProgramData\Anaconda3\python.exe D:/blue6/04.py
请输入您的QQ邮箱账号:860804662@qq.com
您输入的QQ邮箱账号有效!
进程已结束,退出代码0
程序代码2:
import re
mail_number = input("请输入您的网易邮箱账号:")
if (re.match("[0-9]{11}@163.com|[a-zA-Z]{1}[a-zA-Z0-9]{5,17}@163.com",mail_number)):
print("您输入的网易邮箱账号有效!")
else:
print("您输入的网易账号无效!")
运行结果:
C:\ProgramData\Anaconda3\python.exe D:/blue6/04.py
请输入您的网易邮箱账号:1sdsa@163.com
您输入的网易账号无效!
进程已结束,退出代码0
运行结果:
C:\ProgramData\Anaconda3\python.exe D:/blue6/04.py
请输入您的网易邮箱账号:LIAOLOVEDU@163.com
您输入的网易邮箱账号有效!
进程已结束,退出代码0
C:\ProgramData\Anaconda3\python.exe D:/blue6/04.py
请输入您的网易邮箱账号:17397551104@163.com
您输入的网易邮箱账号有效!
进程已结束,退出代码0
5.已知有字符串"张三 张四 王小玲 13208888123 4819599 zhangtom@126.com 676197687211@qq.com 1999-03-26 《凡人修仙传》《水浒传》", 设计正则表达式,并编写代码完成以下功能:
-
提取其中邮箱账号
-
提取手机号码
-
提取小说名称
-
提取日期
程序代码:
import re
message = "张三 张四 王小玲 13208888123 " \
"4819599 zhangtom@126.com 676197687211@qq.com " \
"1999-03-26 《凡人修仙传》《水浒传》"
mail_number = re.findall(r"\w+@+\w+.com",message)
mail_number_end = " ".join(mail_number)
print("邮箱账号是:{}".format(mail_number_end))
text_name = re.findall(r"《\w+》",message)
text_name_end ="".join(text_name)
print(f"小说名称是:{text_name_end}")
date = re.findall("\d+\w[-]+\d\d+[-]+\d\d",message)
date_end = "".join(date)
print(f"日期是:{date_end}")
phone_number = re.findall("[0-9]{11}\s",message)
phone_number_end = "".join(phone_number)
print("电话号码是:%s"%phone_number_end)
运行结果:
C:\ProgramData\Anaconda3\python.exe D:/blue6/05.py
邮箱账号是:zhangtom@126.com 676197687211@qq.com
小说名称是:《凡人修仙传》《水浒传》
日期是:1999-03-26
电话号码是:13208888123
进程已结束,退出代码0