(5.1.1)--4.1字符串类型
MYSQL数据类型——字符串类型

MYSQL数据类型——字符串类型⼀、字符串类型在SQL中,将字符串类型分成了6类:char,varchar,text,blob,enum和set。
1.1 定长字符串定义:char,磁盘(⼆维表)在定义结构的时候,就以及确定了最终数据的存储长度。
Char(L): L代表length,可以存储的长度,单位为字符,最⼤长度值可以为255.Char(4):在UTF8环境下,需要4*3=12个字节。
1.2 变长字符串定义:varchar,在分配空间的时候,按照最⼤的空间分配,但是实际上最终⽤了多少,是根据具体的数据来确定。
Varchar(L): L表⽰字符长度,理论长度是65536个字符,但是会多出1到2个字节来确定存储的实际长度Varchar(10): 的确存了10个汉字,UTF8环境,10*3+1=31存储了3个汉字,UTF8环境,3*3+1=10(bytes)定长与变长的存储实际空间(UTF8)存储实际空间Char(4)Varchar(4)Char占⽤字节Varchar占⽤字节ABCD ABCD ABCD4*3=124*3+1=13A A A4*3=121*3+1=4ABCDE××数据超过长度数据超过长度如何选择定长或者是变长字符串呢?定长的磁盘空间⽐较浪费,但是效率⾼:如果数据基本上确定长度都⼀样,就是使⽤定长,如:⾝份证,电话号码,⼿机号码等变长的磁盘空间⽐较节省,但是效率低:如果数据不能确定长度(不同数据有变化),如姓名、地址等。
1.3 ⽂本字符串如果数据量⾮常⼤,通常说超过255个字符就会使⽤⽂本字符串⽂本字符串根据存储的格式进⾏分类:text和blobText: 存储⽂字(⼆进制数据实际上都是存储路径)Blob: 存储⼆进制数据(通常不⽤)1.4 枚举字符串枚举定义:enum,事先将所有可能出现的结果都设计好,实际上存储的数据都必须是规定好的数据中的⼀个。
枚举的使⽤⽅式定义:enum(可能出现的元素列表); //如 enum(‘男’,‘⼥’,‘不男不⼥’,‘妖’,‘保密’);使⽤:存储数据,只能存储上⾯定义好的数据(a) 创建枚举表1CREATE TABLE my_enum(gender enum('男','⼥','保密')) charset utf8;(b)加⼊数据作⽤之⼀:规范数据格式;数据只能是规定的数据的其中⼀个1insert into my_enum values('男'),('保密'); --有效数据2insert into my_enum values('male'); --错误数据(没有male元素)(b)作⽤之⼆:节省存储空间(枚举通常有⼀个别名:单选框):枚举实际存储的是数值⽽不是字符串本⾝。
五,字符串类型和列表类型详解

五,字符串类型和列表类型详解⼀、字符串类型 str类型,包含在' '," ",''' '''内的字符(' '," ",''' '''还可⽤于注释,''' '''可换⾏)。
str()可将其他类型转化为字符串类型 取值:按索引取值,str[索引]为正向取,str[-索引]为反向取。
只能取,不能赋值 切⽚:按索引切⽚。
str[起点:终点:⽅向+步长] 顾头不顾尾。
步长不加默认为1 长度:len(str)字符串字符数 in/not in:判断⼀段字符在不在字符串中 str.strip(' '):去掉字符串两边的字符,若不加则默认去除空格 str.split('|',1):以括号内字符为分割点,将字符串分割为多个存⼊列表。
逗号后的数字指从左往右分割⼏次. str.rsplit('|',2):从右往左分割两次 for 循环遍历字符串 lower:全部转化为⼩写 upper:全部转化为⼤写 startswith:判断⼀个字符串是否以⼀段字符为起始,返回布尔值 endswith:判断⼀个字符串是否以⼀段字符为结束,返回布尔值 format:类似于格式化输出'my name is %s ,my age is %s'%('papa',18) 'my name is {name},my age is {age}'.format(name='papa',age='18') 'my name is {},my age is {}'.format('papa','18') 'my name is {0},my age is {1}'.format('papa','18') join:split的反向操作,将⼀个列表以某个分割符拼接为⼀段字符串.msg='|'.join(li) replace:将字符串中的某段字符替换为另⼀段字符.msg.replace('a','b') isdigit:判断⼀段字符是否为纯数字,如果为纯数字,则返回True,反之则返回False find,rfind,index,rindex,count: find与index都是查找字符串内是否有某⼀段字符,可以加查找范围,rfind为从右往左查找,如msg.rfind('aa',0,5) find与index的区别:find找不到则返回None,index找不到则报错 count为计算字符串中⼀段字符出现的次数 center,rjust,ljust,zfill: 'papa'.center(50,'*'),将字符串放在⾃定义个数的个字符中间,原字符也算⼊个数之中 rjust,同理,将字符串放在右边 ljust,同理,将字符串放在左边 zfill,同理,将字符串放在多个0后⾯ expandtabs:'a\tb'.expandtabs(10),制表符\t转为多个空格 captalize,swapcase,title: captalize:字符串⾸字母变⼤写 swapcase:字符串⼤⼩写互换 title:空格后每⼀个单词⾸字母⼤写 isnumeric,isdecimal,isdigit: 与isdigit同理,isnumeric可判断中⽂与罗马数字,以及⼆进制 isdecimal只能判断数字字符 isdigit可判断⼆进制与数字字符 isalpha:判断字符中是否全部为字母与中⽂字符 isalnum:判断是否包含的全部为字母或数字 总结: 存⼀个值 有序 不可变⼆、列表类型 list [ ]内⽤逗号隔开多个元素,元素可以是任意类型 切⽚,与字符串⽤法相同,顾头不顾尾. 长度len(),与字符串⽤法相同 in 与 not in :与字符串⽤法相同 增加 list.append(新元素):追加 list.insert(索引,新元素):前往指定索引插⼊新元素 删除 del list[索引]:直接删除 res=list.remove(元素): 删除元素,返回None res=list.pop(索引):默认从末尾开始删,返回删除的值 for循环与字符串同理 lIst.count:计算⼀个元素的出现次数 list.index:查找,与字符串同理 list.clear:清空列表 list.extend(items):遍历items,将items⼀个个添加到list中 list.reverse:将列表反序 nums.sort(reverse=True):将数字列表中的数字从⼤到⼩排列,reverse=False则反之 总结: 存多个值 有序 可变。
VBA数据类型

VBA数据类型引言概述VBA(Visual Basic for Applications)是一种广泛应用于Microsoft Office应用程序的编程语言。
在VBA中,数据类型是非常重要的概念,它决定了我们能够存储和操作的数据的种类。
本文将详细介绍VBA中常见的数据类型及其特点。
一、基本数据类型1.1 整数类型(Integer)整数类型用于存储整数值,包括正整数、负整数和零。
它占用2个字节的存储空间,范围为-32,768到32,767。
整数类型在VBA中的关键字为Integer。
1.2 长整数类型(Long)长整数类型也用于存储整数值,但它占用4个字节的存储空间,范围更大,可以存储更大的整数值。
长整数类型在VBA中的关键字为Long。
1.3 单精度浮点类型(Single)单精度浮点类型用于存储带小数点的数值,它占用4个字节的存储空间。
单精度浮点类型在VBA中的关键字为Single。
二、字符串类型2.1 字符串类型(String)字符串类型用于存储文本数据,它可以包含字母、数字、符号等字符。
字符串类型在VBA中的关键字为String。
在VBA中,字符串可以使用双引号或者单引号括起来。
2.2 固定长度字符串类型(Fixed-Length String)固定长度字符串类型与普通字符串类型相似,但它需要指定字符串的固定长度。
固定长度字符串类型在VBA中的关键字为String,并在后面加之一个长度值。
2.3 变长字符串类型(Variable-Length String)变长字符串类型也是存储文本数据的一种类型,但它的长度可以根据需要进行调整。
变长字符串类型在VBA中的关键字为String,并在后面加之一个关键字"Variable"。
三、日期和时间类型3.1 日期类型(Date)日期类型用于存储日期值,它可以表示从公元1年1月1日到公元9999年12月31日之间的日期。
日期类型在VBA中的关键字为Date。
S7-200数据类型

S7-200数据类型引言概述:S7-200是西门子推出的一款微型可编程逻辑控制器(PLC),在工业自动化领域得到广泛应用。
在S7-200编程中,数据类型是非常重要的概念,它定义了变量的类型和占用的内存空间。
了解S7-200的数据类型对于正确编写程序和优化内存利用至关重要。
一、基本数据类型1.1 位(Bit):最小的数据单元,只能存储0或1。
1.2 字节(Byte):8位组成,可存储0-255之间的整数。
1.3 字(Word):16位组成,可存储0-65535之间的整数。
二、数值数据类型2.1 整型(Int):16位有符号整数,范围为-32768到32767。
2.2 双字节整型(DInt):32位有符号整数,范围为-2147483648到2147483647。
2.3 浮点型(Real):32位浮点数,可表示小数和科学计数法。
三、定时器和计数器数据类型3.1 定时器(Timer):16位定时器,以毫秒为单位,可用于延时控制。
3.2 计数器(Counter):16位计数器,可用于计数和监控。
四、字符串数据类型4.1 字符串(String):由字符组成的数据类型,可用于存储文字信息。
4.2 字符串数组(String Array):多个字符串组成的数组,用于批量存储文字信息。
4.3 字符串指针(String Pointer):指向字符串的指针,可用于动态操作字符串数据。
五、用户自定义数据类型5.1 结构体(Struct):将不同类型的数据组合在一起,形成新的数据类型。
5.2 枚举(Enum):定义一组相关的命名常量,便于程序理解和维护。
5.3 数组(Array):存储相同类型的数据的集合,可提高程序的灵活性和可维护性。
结论:了解S7-200的数据类型对于编写高效、可靠的PLC程序至关重要。
通过掌握各种数据类型的特点和用途,程序员可以更好地利用内存资源,提高程序的执行效率和可维护性。
深入理解数据类型还可以帮助程序员更快速地定位和解决问题,提高工作效率和质量。
《刘大有数据结构》 chapter 5 数组字符串和集合类

再例如三维数组 再例如三维数组D[3][3][4],可以把它看作一维 , 数组 B1[3] = { D[0][3][4],D[1][3][4],D[2][3][4] } , ,
下面我们给出一个 下面我们给出一个Array类的应用例子 类的应用例子. 类的应用例子 例5.1 编写一个函数,要求输入一个整数 , 编写一个函数,要求输入一个整数N, 用动态数组A来存放 来存放2~ 之间所有 之间所有5或 的倍数 的倍数, 用动态数组 来存放 ~N之间所有 或7的倍数, 输出该数组. 输出该数组 说明 : 因为 由用户给出 , 编写程序时无法知 说明:因为N由用户给出 由用户给出, 道需要多大的数组来存放数据, 道需要多大的数组来存放数据,因此采用动态 数组(初始时大小为10) 数组(初始时大小为 ),每当数组满时就调 整数组大小,给它增加10个元素 个元素. 整数组大小,给它增加 个元素
数组在内存中一般是以顺序方式存储的 数组在内存中一般是以顺序方式存储的. 设一维数组 设一维数组A[n]存放在 个连续的存储单元中 , 存放在n个连续的存储单元中 存放在 个连续的存储单元中, 每个数组元素占一个存储单元(不妨设为C个 每个数组元素占一个存储单元 ( 不妨设为 个 连续字节) 如果数组元素A[0]的首地址是 , 的首地址是L, 连续字节). 如果数组元素 的首地址是 则 A[1] 的 首 地 址 是 L+C , A[2] 的 首 地 址 是 L+2C,… …,依次类推,对于 0 ≤ i ≤ n 1 有: , ,依次类推,
B[i]={ A[i][0],A[i][1],…,A[i][n-2],A[i][n-1] } -
第5章S7-200 PLC的基本指令及应用

2) 访问方式指出操作数是按位、字节、字或双字 访问的。当按位访问时,可用操作数位置形式 加以区分。访问方式按如下符号表示: X:位 B:字节 W:字 D:双字 3) 操作数的位置指明了操作数在此存储区的确切 位置,操作数的位置用数字来指明,以字节为 单位计数。
2.梯形图指令格式
梯形图是一种图形语言,不仅支持对存储区域 的按位、字节、字、双字的访问方式,同时也支 持整数、实数、字符串、表格等高级数据类型。 指令用三种图形风格进行描述。 (1)位指令和逻辑运算比较指令的格式
(2)位寻址格式
按位寻址时的格式为:Ax.y,使用时必须指定 元件名称 A、字节地址x和位号y。
可以进行位寻址的编程元件: 输入继电器(I)、输出继电器(Q)、通用辅助继电 器(M)、特殊继电器(SM)、局部变量存储器(L)、变 量存储器(V)和顺序控制继电器 (S)。
图5-6 CPU存储器中位数据表示方法举例(位寻址)
4)定时器位:与其他继电器的输出相似。当定 时器的当前值达到设定值PT时,定时器的触点 动作。 5)定时器当前值:存储定时器当前所累积的时 间,它用16位符号整数来表示,最大计数值为 32767。 6)定时器的分辨率和编号如表5-9所列。通过 该表可知定时器的编号一旦确定,其对应的分 辨率也就随之确定。
定时器定时时间T 的计算:T=PT×S。式中:T 为实际定时时间,PT为设定值,S为分辨率。例 如:TON指令使用T33(为10ms的定时器),设 定值为100 ,则实际定时时间为 T= 100×10ms=1000ms 定时器的设定值PT的数据类型为INT型。操作数 可为:VW、IW、QW、MW、SW、SMW、LW、AIW、T 、C、AC、*VD、*AC、*LD或常数,其中常数最 为常用。 3)定时器的编号。定时器的编号用定时器的名 称和数字(0~255)来表示,即T***,如T37。 定时器的编号包含定时器位和定时器当前值两 方面的信息。
字符串类型
const name : array[1..8]of string {定义字串类型数组并赋常量} =('A13','B27','C35','D41','E58','F62','G74','H86'); Var i, code: integer; {整数类型} x: 1..8; {子界类型} s : string; {字符串类型} Begin s:=copy(name[1],1,1); {截取第一个元素字串的第一个字符} write(s:4); {确定第一个位置} s:=copy(name[1],3,1); {截取元素字串的第三个字符作为相邻} Val(s,x,code); {将字串s的值转换成数字存入 x} for i:=1 to 7 do {确定后面7个位置} Begin s:=copy(name[x],1,1); {找到相邻者的代码} write(s:4); {打印相邻者代码} s:=copy(name[x],3,1); {确定下一个相邻元素} Val(s,x,code); end; readln End.
习题二
校对输入日期(以标准英语日期,月/日/年)的正确性,若输入正确则以年.月.日的方式输出。 程序的输入为一个日期 正确的日期输入将之转化”年.月.日”的方式输出,错误的输入则输出“input errlr!” 分析:此题的题意很简单,但在程序处理时还需考虑以下几方面的问题。 1.判定输入的月和日应是1位或2位的数字,程序中用了一个过程inst, 利用串函数pos,求得分隔符’/’所在的位置而判定输入的月和日是否为1位或2位, 利用标准过程val判定输入的月和日是否为数字; 2.判定月和日是否规定的日期范围及输入的年是否正确; 3.若输入的月是2月份,则还需考虑闰年的情况。
python中的字符串类型以及操作的教案
文章标题:深入了解Python中的字符串类型和操作一、引言在Python编程语言中,字符串是一种非常重要的数据类型,它广泛应用于各种编程场景中。
本文将深入探讨Python中的字符串类型及相关操作,并带你逐步深入了解这一重要概念。
二、字符串类型1. 什么是字符串?在Python中,字符串是由一系列字符组成的数据类型,可以用单引号、双引号或三引号来表示。
2. 字符串的表示方法我们可以使用单引号、双引号或三引号来表示字符串,这样可以灵活地处理字符串中的引号。
3. 字符串的基本操作我们可以通过加法运算符来连接字符串,也可以使用乘法运算符来重复字符串。
4. 字符串的索引和切片字符串中的每个字符都有一个索引,我们可以使用索引来访问特定位置的字符;切片则允许我们获取字符串中的子串。
5. 字符串的常用方法Python提供了丰富的字符串操作方法,例如`len()`函数用于获取字符串的长度,`upper()`和`lower()`方法用于大小写转换等。
6. 字符串的格式化字符串格式化允许我们使用占位符来动态替换字符串中的内容,这在输出格式化内容时非常有用。
三、深入探讨1. 字符串的不可变性在Python中,字符串是不可变的,这意味着一旦字符串被创建,它的内容就不能被改变。
2. Unicode字符串Python 3中的字符串是以Unicode格式存储的,这使得Python在处理各种语言和字符时更加灵活和强大。
3. 字符串的编码和解码在处理文件和网络数据时,我们经常需要进行字符串的编码和解码操作,Python提供了丰富的编解码方法来应对不同的数据格式。
四、个人观点和总结在我看来,对于任何一个Python程序员来说,深入理解字符串类型及操作是至关重要的。
字符串是程序中不可或缺的一部分,掌握字符串的各种操作方法可以极大地提高编程效率和程序的健壮性。
通过本文的讨论,希望读者可以对Python中的字符串有更加深入的了解,从而在实际编程中更加游刃有余。
C#字符串操作
5.1.4 连接字符串
1. Concat方法 Concat方法用于连接两个或多个字符串。 Concat方法也有多个重载形式,最常用的为: public static string Concat(params string[] values); 其中,参数values用于指定所要连接的多个字 符串,可以通过下面的实例来掌握其使用方法 。 //Concat newStr=""; newStr=String.Concat(strA," ",strB); Console.WriteLine(newStr); //“Hello World"
4. 比较运算符 String支持两个比较运算符“==”、“!=”,分 别用于判定两个字符是否相等和不等,并 区分大小写。相对于上面介绍的方法,这 两个运算符使用起来更加直观和方便。 下例中,使用“==”、“!=”对“Hello”和“World” 进行比较。 //==和!= Console.WriteLine(strA==strB); //false Console.WriteLine(strA!=strB); //false
1. Compare方法 Compare方法是String类的静态方法,用于全面比较两 个字符串对象,包括6种重载方式。 下面使用Compare方法来比较两个字符串,输出结果 如注释语句所示。 //定义两个String对象,并对其赋值 System.String strA="Hello"; System.String strB="World"; //Compare Console.WriteLine(pare(strA,strB)); //-1 Console.WriteLine(pare(strA,strA)); //0 Console.WriteLine(pare(strB,strA)); //1 另外,CompareOrdinal方法同Compare方法非常类似 ,判定两个字符串,但不考虑区域性问题,在此不再
S7-200数据类型
S7-200数据类型标题:S7-200数据类型引言概述:S7-200是西门子公司推出的一种经典PLC型号,其数据类型是PLC编程中非常重要的一部分。
了解S7-200数据类型对于PLC编程人员来说至关重要,本文将详细介绍S7-200数据类型的相关知识。
一、基本数据类型1.1 位(Bool):位是最基本的数据类型之一,用于表示开关量,取值为0或1。
1.2 字节(Byte):字节是由8位组成的数据类型,用于存储8位二进制数。
1.3 整型(Int):整型数据类型用于存储整数值,可以表示正负数。
二、浮点数据类型2.1 单精度浮点数(Float):单精度浮点数用于表示小数值,精度为6-7位有效数字。
2.2 双精度浮点数(Double):双精度浮点数用于表示更大范围的小数值,精度为15-16位有效数字。
2.3 定点数(Fixed Point):定点数用于表示带有固定小数点位置的数值,适用于需要精确计算的场景。
三、字符串数据类型3.1 字符串(String):字符串数据类型用于存储文本信息,可以包含字母、数字、符号等字符。
3.2 字符串数组(String Array):字符串数组可以存储多个字符串,每个字符串长度可以不同。
3.3 字符串指针(String Pointer):字符串指针用于指向字符串在内存中的位置,方便对字符串进行处理。
四、时间数据类型4.1 时间(Time):时间数据类型用于表示时间信息,包括时、分、秒等。
4.2 时间戳(Time Stamp):时间戳用于记录事件发生的时间,通常用于数据记录和分析。
4.3 定时器(Timer):定时器数据类型用于实现定时功能,可以设置定时时间和触发条件。
五、用户自定义数据类型5.1 结构体(Struct):结构体数据类型允许用户自定义复合数据类型,可以包含多个不同类型的数据成员。
5.2 枚举(Enum):枚举数据类型用于定义一组相关的常量,方便程序员进行编程。
5.3 数组(Array):数组数据类型用于存储多个相同类型的数据,可以按照索引访问数组元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
H el l o
图 4-1-1
1、 获取字符串长度函数 len 实际上字符串 s 的长度为 len(s),例如: len("abc") #3 len("我们 abc") #5 注意空字符串 s=""是连续两个引号,中间没有任何东西,空串的长度为 0,len(s)=0, 但是 s=" "包含一个空格,s 不是空串,长度为 1。
if s[i]>="A" and s[i]<="Z": upper=upper+1
elif s[i]>="a" and s[i]<="z": lower=lower+1
elif s[i]>="0" and s[i]<="0": digit=digit+1
print("Upper chars: ",upper) print("Lower chars: ",lower) print("Digit chars: ",digit)
2、 读出字符串各个字符 要得到其中第 i 个字符,可以像数组访问数组元素那样用 s[i]得到,其中 s[0]是第 1 个字符,s[1]是第 2 个字符,……,s[len(s)-1]是最后一个字符。例如: s="a 我们" n=len(s) for i in range(n):
print(s[i]) 结果: a 我 们 注意字符串中的字符是不可以改变的,因此不能对某个字符 s[i]赋值,例如 s[0]='h' 是错误的。
4.1 字符串类型
4.1.1 教学目标
字符串是程序中最常用的一种数据类型,字符串可以包含中文与英文等任何字符,再内 存中用 Unicode 编码存储,但是存储到磁盘中时候往往采用 GBK 或者 UTF-8 等别的编码形 式,教学目标掌握字符串的操作。
4.1.2 字符串类型
字符数组可以用来存储字符串,字符串在内存中的存放形式也就是字符数组的形式,字 符串可以看成是字符的数组,例如:
7、字符串中的子串 设置 s 为字符串变量,在 s 中取出它的一截,即一个子串,是常用的一个操作。
例 4-1-6: 设计函数 subString(s,start,length)表示从 s 的 start 位置开始,取出长度 为 length 的一个子串。
def subString(s,start,length): m=len(s) if start>=length: return "" t="" i=start while i<start+length and i<m: t=t+s[i]
4、 编码转为字符 如果我们知道一个符号的编码为 n,那么可以用 chr(n)函数把它转为一个符号,例如: a=chr(25105) b=chr(20204) c=chr(119) d=chr(101) print(a,b,c,d) 结果: 我们we
5、 字符串的大小比较 两个字符串 a,b 可以比较大小,比较规则是按各个对应字符的 Unicode 编码,编码大的 一个为大: 比较 a[0]与 b[0],如果 a[0]>b[0]则 a>b,如果 a[0]<b[0]则 a<b,如果 a[0]=b[0]则继 续比较 a[1]与 b[1]; 比较 a[1]与 b[1],如果 a[1]>b[1]则 a>b,如果 a[1]<b[1]则 a<b,如果 a[1]=b[1]则继 续比较 a[2]与 b[2]; ...... 这个过程一直进行下去,直到比较出大小,如果比较完毕两个字符串的每个字符都一样, 那么如果两个一样长 len(a)=len(b),那么 a=b,如果 len(a)>len(b)则 a>b,如果 len(a)<len(b) 则 a<b。
大写字母。
例 4-1-5:编写把一个串中所有小写字母变大写的函数 def myToUpper(s):
t="" for i in range(len(s)):
if s[i]>="a" and s[i]<="z": t=t+chr(ord("A")+ord(s[i])-ord("a"))
else: t=t+s[i]
i=i+1 return t
s="abcdefghijk" print(subString(s,2,4)) print(subString(s,2,24))
4.1.3 【案例】字符串的对称
1、案例描述 设计程序判断一个字符串是否对称。
2、案例分析 方法一:编写一个函数 reverse(s)把字符串 s 反向,然后把反向的结果与原来的字符串 比较,如果一样就说明是对称的。 方法二:有一种判别对称的方法,用 i,j 表示左右的下标,逐步比较(s[0],s[len(s)-1]) , (s[1],s[len(s)-2]) ,......, 如果由不相等的,一定不对称,如果全部比较完毕都相等,则对 称。
3、 字符在内存中的编码 计算机值认识二进制,字符在计算机中实际上是用二进制数存储的,这个编码称为 Unicde,每个英文字符用两个字节存储。要知道某个字符的编码,用函数 ord(字符)便知道 了,例如: s="Hi,你好" n=len(s) for i in range[i])) 结果:
H 72 i 105 , 65292 你 20320 好 22909 可 以 看 到 "H" 的 Unicode 码 是 72 , " 你 " 的 是 20320 。 我 们 可 以 用 程 序 测 试 出 "A"-"Z","a"-"z"的大小写字母的 Unicode 码: S="ABCDEFGHIJKLMNOPQRSTUVWXYZ" s="abcdefghijklmnopqrstuvwxz" n=len(s) for i in range(n):
在实际应用中我们可以简单使用 ==, >=,<=,>,<,!=等符号来判断两个字符串的大小。 根据字符的编码我们要记住有下列关系:
"0"<"1"<....<"9"<"A"<"B"<....<"Z"<"a"<"b"<......<"z"<汉字 特别注意大写的字母比小写的小!
例 4-1-1:输入一个字符串,统计它包含的大小字母的个数 s=input("Enter a string: ") count=0 for i in range(len(s)):
print("对称") else:
print("不对称")
例 4-1-3:输入一个字符串,把它反向显示 函数 reverseA 与 reverseB 都可以反向字符串: def reverseA(s):
t="" for i in range(len(s)-1,-1,-1):
t=t+s[i]
return t
def reverseB(s): t="" for i in range(0,len(s)): t=s[i]+t
print("对称") else:
print("不对称")
方法二:
def isSymmetry(s): i=0 j=len(s)-1
while i<=j: if s[i]!=s[j]: return 0 i=i+1 j=j-1
return 1
s=input("Enter a string: ") if isSymmetry(s)==1:
3、案例代码 方法一: def reverse(s):
t="" for i in range(len(s)-1,-1,-1):
t=t+s[i] return t
def isSymmetry(s): t=reverse(s) if s==t: return 1 else: return 0
s=input("Enter a string: ") if isSymmetry(s)==1:
if s[i]>="A" and s[i]<="Z": count=count+1
print("count=",count)
例 4-1-2:输入一个字符串,统计它包含的大小字母、小写字母、数字的个数 s=input("Enter a string: ") upper=0 lower=0 digit=0 for i in range(len(s)):
j=j-1 for k in range(i,j+1):
t=t+s[k]
return t
a bc
"返回"a bc"。
s=input("Enter a string: ") print(s,"length=",len(s)) t=trim(s) print(t,"length=",len(t))