Python:第5章字符串与正则表达式 课后习题
《Python语言程序设计》刘卫国主编,中国工信出版集团,电子工业出版社习题5一、选择题1.访问字符串中的部分字符的操作称为( )。AA.分片 B.合并 C.索引 D.赋值2.下列关于字符串的描述错误的是( )。BA.字符串s的首字符是s[0]B.在字符串中,同一个字母的大小是等价的。C.字符串中的字符都是以某种二进制编码的方式进行存储和处理的D.字符串也能进行关系比较操作3.执行下列语...
《Python语言程序设计》刘卫国主编,中国工信出版集团,电子工业出版社
习题5
一、选择题
1.访问字符串中的部分字符的操作称为( )。A
A.分片 B.合并 C.索引 D.赋值
2.下列关于字符串的描述错误的是( )。B
A.字符串s的首字符是s[0]
B.在字符串中,同一个字母的大小是等价的。
C.字符串中的字符都是以某种二进制编码的方式进行存储和处理的
D.字符串也能进行关系比较操作
3.执行下列语句后的显示结果是( )。A
world="world"
print("hello"+world)
A.helloworld B."hello"world
C.hello world D."hello"+world
4.下列表达式中,有3个表达式的值相同,另一个不相同,与其他3个表达式不同的是( )。C
A."ABC"+"DEF" B.''.join(("ABC","DEF"))
C."ABC"-"DEF" D.'ABCDEF'*1
5.设s="Python Programming",那么print(s[-5:])的结果是( )。A
A.mming B.Python C.mmin D.Pytho
6.设s="Happy New Year",则s[3:8]的值为( )。B
A.'ppy Ne' B.'py Ne' C.'ppy N' D.'py New'
7.将字符串中全部字母转换为大写字母的字符串方法是( )。D
A.swapcase B.capitalize C.uppercase D.upper
8.下列表达式中,能用于判断字符串s1是否属于字符串s(即s1是否s的子串)的是( )。D
①s1 in s;②s.find(s1)>0;③s.index(s1)>0;④s.rfind(s1);⑤s.rindex(s1)>0
A.① B.①② C.①②③ D.①②③④⑤
9.re.findall('to','Tom likes to play football too.',re.I)的值是( )。A
A.['To', 'to', 'to'] B.['to', 'to', 'to']
C.['To', 'to'] D.['to', 'to']
10.下列程序执行后,得到的输出结果是( )。C
import re
p=re.compile(r'\bb\w*\b')
str="Boys may be able to get a better idea."
print(p.sub('**',str,1))
A.** may be able to get a better idea.
B.Boys may be able to get a ** idea.
C.Boys may ** able to get a better idea.
D.Boys may ** able to get a ** idea.
二、填空题
1."4"+"5"的值是 。'45'
2.字符串s中最后一个字符的位置是 。len(s)-1
3.设s='abcdefg',则s[3]的值是 ,s[3:5]的值是 ,s[:5]的值是 ,s[3:]的值是 ,s[::2]的值是 ,s[::-1]的值是 ,s[-2:-5]的值是 。
'd','de','abcde','defg','aceg','gfedcba',''
4.'Python Program'.count('P')的值是 。2
5.'AsDf888'.isalpha()的值是 。False
6.下面语句的执行结果是 。['A', 'A', 'A']
s='A'
print(3*s.split())
7.已知s1='red hat',print(s1.upper())的结果是 ,s1.swapcase()的结果是 ,s1.title()的结果是 ,s1.replace('hat','cat')的结果是 。
RED HAT,'RED HAT','Red Hat','red cat'
8.设s='a,b,c',s2=('x','y','z'),s3=':',则s.split(',')的值为 ,s.rsplit(',',1)的值为 ,s.partition(',')的值为 ,s.rpartition(',')的值为 ,s3.join('abc')的值为 ,s3.join(s2)的值为 。
['a', 'b', 'c'],['a,b', 'c'],('a', ',', 'b,c'),('a,b', ',', 'c'),'a:b:c','x:y:z'
9.re.sub('hard','easy','Python is hard to learn.')的值是 。
'Python is easy to learn.'
10.下列程序执行后,得到的输出结果是 。['An', 'elite', 'university']
import re
str="An elite university devoted to computer software"
print(re.findall(r'\b[aeiouAEIOU]\w+?\b',str))
三、问答题
1.什么叫字符串?有哪些常用的字符编码方案?
字符集(Charset):是一个系统支持的所有抽象字符的集合。
字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
字符编码(Character Encoding):是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对。即在符号集合与数字系统之间建立对应关系,它是信息处理的一项基本技术。通常人们用符号集合(一般情况下就是文字)来表达信息。而以计算机为基础的信息处理系统则是利用元件(硬件)不同状态的组合来存储和处理信息的。元件不同状态的组合能代表数字系统的数字,因此字符编码就是将符号转换为计算机可以接受的数字系统的数,称为数字代码。
常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。
2.数字字符和数字值(如'5'和5)有何不同?如何转换?
'5'是字符变量,5是数字字符。
3.为什么print('I like Python'* 5)可以正常执行,而print('I like Python'+5)却运行时出错?
在 Python 中不能把两个完全不同的东西加在一起,比如说数字和文本,正是这个原因, >>>print('I love fishc.com ' + 5) 才会报错。 不过乘以一个整数 来翻倍就具有一定的意义了,前边的例子就是将 "I love python.com" 这个字符串打印五次。
4.写出表达式。
(1)利用各种方法判断字符变量c是否为字母(不区分大小写字母)。
c.isalpha()或c.lower()<='z' and c.lower()>='a'或c.upper()<='Z' and c.upper()>='A'或c<='Z' and c >='A'or c<='z'and c >='a'
(2)利用各种方法判断字符变量c是否为大写字母。
c.isupper()或者c<='Z' and c>='A'
(3)利用各种方法判断字符变量c是否为小写字母。
c.islower()或者c<='z' and c>='a'
(4)利用各种方法判断字符变量c是否为数字字符。
c.isdigit()或c<='9' and c>='O'
5.re.match("back","text.back")与re.search("back","text.back")的执行结果有何不同?
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。
更多推荐
所有评论(0)