第7次线下授课课件(字符串)_第1页
第7次线下授课课件(字符串)_第2页
第7次线下授课课件(字符串)_第3页
第7次线下授课课件(字符串)_第4页
第7次线下授课课件(字符串)_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

字符串字符串类型字符串是用双引号""或者单引号''括起来的一个或多个字符。字符串可以保存在变量中,也可以单独存在。可以用type()函数测试一个字符串的类型字符串操作字符串之间可以通过+或*进行连接加法操作(+)将两个字符串连接成为一个新的字符串乘法操作(*)生成一个由其本身字符串重复连接而成的字符串字符串的关系运算通过关系运算符,实现字符串的大小比较>>>str1="Hello">>>str2="Python">>>str1>str2False>>>str1==str2False>>>str1<str2True字符串的成员运算通过成员运算符,判断字符串是否属于另一个字符串>>>str1="He">>>str2="Hello">>>str1instr2True可以通过for和in组成的循环来遍历字符串中每个字符格式如下:

for<var>in<string>:

操作字符串的遍历字符串相关函数函数含义len(x)返回字符串x的长度str(x)返回任意类型x所对应的字符串形式chr(x)返回Unicode编码x对应的单字符ord(x)返回单字符x表示的Unicode编码字符串类型的转换大多数数据类型都可以通过str()函数转换为字符串unicode编码的前世今生ASCII码一共规定了128个字符的编码扩展的ASCII编码总共是256个字符GBK编码共收录了6763个汉字,同时还兼容ASCIIunicode编码规定了每一个字符所对应的唯一的二进制代码,目前的规模可以容纳100多万个符号乱码最初的计算机编码使用的是美国的标准欧洲地区除了英文字母以外的其它字母基本满足了汉字的计算机处理需要满足全世界的需求全球化字符串大小写互换——ord(),chr()函数运用字符串大小写互换

算法:1、输入原字符串s,目标字符串t=“”2、用ch遍历原字符串s:

若ch为小写字母:

转换为大写字母若ch为大写字母:转换为小写字母

其他:

原样输出该字符t+=ch3、输出目标字符串t

——凯撒密码ord(),chr()函数运用凯撒密码(讨论,演示)

凯撒密码是古罗马凯撒大帝用来对军事情报进行加密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列该字符后面第三个字符,对应关系如下:原文:ABCDEFGHIJKLMNOPQRSTUVWXYZ密文:DEFGHIJKLMNOPQRSTUVWXYZABC原文字符P,其密文字符C满足如下条件:C=(P+3)mod26解密方法反之,满足:P=(C–3)mod26凯撒密码:小写字母加密

算法:1、输入明文s2、用ch遍历字符串s:

若ch为小写字母:

加密该字符,并输出

否则:

原样输出该字符

凯撒密码:小写字母加密微实例3.2m3.2

CaesarCode.py

1234567plaincode=input("请输入明文:")forpinplaincode:iford("a")<=ord(p)<=ord("z"):print(chr(ord("a")+(ord(p)-ord("a")+3)%26),end='')else:print(p,end='')

凯撒密码:拓展(大小写加密)

算法:1、输入明文s2、用ch遍历字符串s:

若ch为小写字母:

加密该字符,并输出若ch为大写字母:

加密该字符,并输出

否则:

原样输出该字符

凯撒密码:拓展(解密处理)

算法:1、输入密文s2、用ch遍历字符串s:

若ch为小写字母:

解密该字符,并输出若ch为大写字母:

解密该字符,并输出

否则:

原样输出该字符

字符串的方法内置的字符串处理方法方法描述str.lower()返回字符串str的副本,全部字符小写str.upper()返回字符串str的副本,全部字符大写str.islower()当str所有字符都是小写时,返回True,否则Falsestr.isnumeric()当str所有字符都是字符时,返回True,否则Falsestr.isspace()当str所有字符都是空格,返回True,否则Falsestr.split(sep=None,maxsplit=-1)返回一个列表,由str根据sep被分割的部分构成str.count(sub[,start[,end]])返回str[start:end]中sub子串出现的次数str.replace(old,new[,count])返回字符串str的副本,所有old子串被替换为new,如果count给出,则前count次old出现被替换str.strip([chars])返回字符串str的副本,在其左侧和右侧去掉chars中列出的字符str.format()返回字符串str的一种排版格式str.join(iterable)返回一个新字符串,由组合数据类型iterable变量的每个元素组成,元素间用str分割字符串中单词个数统计MOOC案例解析任务输入一行英文文字,统计其中单词的个数。例如,Ilovepython.Andyou?成员运算通过成员运算符in,判断字符串是否属于另一个字符串。例如:判别”.”是否属于标点符号?遍历字符串通过for循环语句,遍历字符串的每个字符例如:遍历字符串,输出其中的标点符号for<循环变量>in<字符串>:<语句块>s="Ilovepython.Andyou?"ch子串的替换>>>s="Ilovepython.Andyou?">>>s=s.replace(".","")>>>s'IlovepythonAndyou?'>>>s=s.replace("?","")>>>s'IlovepythonAndyou'>>>str.replace(old,new),用字符串new,代替str中的old例如:替换字符串中的标点符号字符串两端字符移除>>>s='IlovepythonAndyou'>>>s=s.strip("")>>>s'IlovepythonAndyou'str.lstrip(chars),str.rstrip(chars),分别将字符串左端或右端指定的字符chars移除str.strip(chars),将字符串str两端指定的字符chars移除例如:将字符串两端空格去除字符串的分割str.split([sep]),以sep为分隔符,把str分割成一个列表>>>s='IlovepythonAndyou'>>>ls=s.split("")>>>ls['I','love','python','And','you']</>例如:将空格隔开的字符串,分割为单词列表字符串的拼接sep.join(seq),将序列seq中的元素用连接符sep连接起来split()和join()是一对相反的操作,要求列表元素必须是字符串。>>>ls=['I','love','python','And','you']>>>s="".join(ls)>>>s'IlovepythonAndyou'例如:将单词列表,拼接为长字符串统计字符串中单词个数输入一行英文文字,统计其中单词的个数。例如,Ilovepython.Andyou?问题分析:如何对英文文本进行清洗?如何将英文单词,从字符串中分离出来?

split()方法,生成单词列表如何统计单词的个数?去除标点,去除两端空格计算列表长度统计单词个数对英文字符串进行清洗:去除标点,去除两端空格。s=“Ilovepython.Andyou?”实现方法:遍历字符串s,(for循环)

若为标点符号,(if语句,in成员运算

温馨提示

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

评论

0/150

提交评论