《python数据分析与应用》 课件 第4章 字符串_第1页
《python数据分析与应用》 课件 第4章 字符串_第2页
《python数据分析与应用》 课件 第4章 字符串_第3页
《python数据分析与应用》 课件 第4章 字符串_第4页
《python数据分析与应用》 课件 第4章 字符串_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章字符串Python数据分析与应用1CONTENTS4.1知识准备4.2代码补全和知识拓展4.3实训任务:处理股票交易数据4.4延伸高级任务目录4.5课后习题2知识准备132.字符串的拼接和重复4.1.2字符串的常见操作1.字符串的定义和表示方法#ASCII编码转换示例text='Hello'ascii_code=[ord(c)forcintext]print(ascii_code)#输出:[72,101,108,108,111]#ASCII码转换为字符示例text=[72,101,108,108,111]decoded_text=''.join(chr(c)forcintext)print(decoded_text)#输出:Hello4.1.1字符集知识准备#Unicode编码转换示例text='你好'unicode_bytes=text.encode('unicode_escape')print(unicode_bytes)#输出:b'\\u4f60\\u597d'

#Unicode字节序列解码为字符串示例unicode_bytes=b'\\u4f60\\u597d'decoded_text=unicode_bytes.decode('unicode_escape')print(decoded_text)#输出:你好greeting=Hello,there!Howareyoutoday?print(greeting)#输出:SyntaxError:invalidsyntaxstr1="Hello"str2="World"str3="!"result=str1+str2+str3print(result)#输出:HelloWorld!43.计算字符串的长度4.截取字符串知识准备max_length=20iflen(product_title)>max_length:truncated_title=product_title[:max_length-3]+"..."else:truncated_title=product_titleprint(truncated_title)#输出:华为HUAWEIP40Pro...假设京东官网有一个商品标题:string1="Hello,World!"length1=len(string1)print(length1)#输出:13len()函数可以直接应用于字符串,返回字符串中字符的个数。5product_title="华为HUAWEIP40Pro+5G全网通手机(8GBRAM/256GBROM)-黑色“下面来模拟一个简单的情况,假设网页要求在标题栏最多显示20个字符,超过的部分要截取掉并显示省略号。代码补全和知识拓展26errHTML='''<HTML><HEAD><TITLE>FriendsCGIDemo</TITLE></HEAD><BODY><H3>ERROR</H3><B>%s</B><P><FORM><INPUTTYPE=buttonVALUE=BackONCLICK="window.history.back()"></FORM></BODY></HTML>'''print(errHTML)(__________________________)请从字符串errHTML中找到ONCLICK=后面的函数名称。4.2.1代码补全:找到特定字符串7filenames=removehiddenfile(PATH)forfilenameinfilenames:needrename=Falseiffilename.find('')==-1andfilename.find('+')==-1:newfilename=(__________________________)#请在带括号横线上补全代码needrename=Trueeliffilename.find('+')!=-1:newfilename=(__________________________)#请在带括号横线上补全代码needrename=True修改指定目录下所有文件的文件名称。4.2.2代码补全:重命名目录下所有的文件名8字面值字符:正则表达式中的普通字符表示它们自身,例如字符a表示字符a本身。特殊字符:正则表达式中的特殊字符有特殊含义,例如.匹配任意字符,\d匹配数字等。字符类:用方括号[]表示,用于匹配一组字符中的任意一个字符。量词:用于指定匹配字符出现的次数,例如*匹配0次或多次,+匹配1次或多次,?匹配0次或1次。边界匹配符:用于指定匹配字符串的边界,例如^匹配字符串的开头,$匹配字符串的结尾。分组:用圆括号()表示,用于将一组字符当作一个整体来处理。1.字符串正则表达式是文本匹配工具importrepattern=r"(\d{3})-(\d{4})"text="Myphonenumberis123-4567"match=re.search(pattern,text)print(match.group(1))#输出结果为:"123"print(match.group(2))#输出结果为:"4567"2.正则表达式分组匹配4.2.3知识拓展:正则表达式4.3实训任务:处理股票交易数据310importre

data="""2023-01-01,AAPL,Buy,$1002023-01-02,MSFT,Sell,1502023-01-03,AMZN,Buy,$300"""

#清洗数据cleaned_data=[]lines=(__________________________)#请在带括号横线上补全代码forlineinlines:line=line.replace(",","")#去除逗号line=(__________________________)#去除美元符号cleaned_data.append(line)

print(cleaned_data)#输出结果:['2023-01-01AAPLBuy100','2023-01-02MSFTSell150','2023-01-03AMZNBuy300']4.3.1清洗交易记录数据4.3实训任务:处理股票交易数据11importre

report="""Stock:AAPL,Price:$150.50Stock:MSFT,Price:$300.00Stock:AMZN,Price:$3500.00"""

#提取股票代码pattern=(__________________________)#请在带括号横线上补全代码codes=re.findall(pattern,report)print(codes)#输出结果为:['AAPL','MSFT','AMZN']4.3.2提取股票代码4.3实训任务:处理股票交易数据12data="""2023-01-01,150.502023-01-02,155.002023-01-03,152.00"""

#数据处理和计算收益率prices=[]lines=data.strip().split("\n")forlineinlines:date,price=(__________________________)#请补全代码prices.append(float(price))

returns=[(prices[i]-prices[i-1])/prices[i-1]foriinrange(1,len(prices))]print(returns)#输出结果:[0.029900332225913625,-0.01935483870967742]4.3.3计算股票收益率4.3实训任务:处理股票交易数据13延伸高级任务414一个合法的身份证号码共18位,前面17位是0-9之间的数字,第18位是校验位,可以由数字或字母X构成(输入身份证号时,X有时用大写,有时也可能小写)。一个合法的身份证号码前面17位由6位地区码、8位出生日期、3位顺序号组成。比如,在身份证,320124为地区码,19880824为出生日期,005则为顺序号,6则是根据前17个数字生成的校验码。校验码可以帮助检查身份证号在转述,抄录的过程中是否出现错误。

校验码的计算规则如下:

对前17位数字从左到右加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};将加权和对11取模得到余数Z;按下述Z-M对应关系取得校验码M(即Z=0,则M=1;Z=1,则M=0;Z=2,则M=X;以此类推)。Z:[0,1,2,3,4,5,6,7,8,9,10]M:[1,0,X,9,8,7,6,5,4,3,2]。4.4延伸高级任务:身份证号码校验15下面是一些测试数据:#输入格式1输出格式1:正确

#输入格式2:3K01241X880824005#输出格式2:错误

#输入格式3:ABCDE#输出格式3:错误

4.4延伸高级任务:身份证号码校验16#以下各类测试数据,均可用来测试程序的有效性12345678901234567890#错误123abc456#错误1&*()qj123#错正正确53010219200508011x#正确32#错误

课后习题517

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论