目录
- 一、基础练习补充
- 二、字符串与正则表达式
一、基础练习补充
1.下列能返回变量s的数据类型的是:
A.print(type(s))
B.print(s)
C.print(int(s))
D.print(str(s))
2.如果想要换行,可以使用:
A.\
B.\n
C.\t
D.\f
3.合法的标识符是:
A.M-N
B.and
C.Dior_Ysl
D.6_friends
4.在Python中,使用内置函数type()可以返回变量()?
A.内存地址
B.长度
C.名称
D.类型
5.下列要求参数必须是整数的函数是:
A.chr()
B.oct()
C.hex()
D.以上都是
6.标识符主要用来标识什么?
A.变量
B.函数
C.模块
D.以上都对
7.下列说法正确的是:
A.Python的数字类型有两种,整数和浮点数
B.Python中表示字符串时,不可以嵌套使用引号
C.Python 中的布尔值可以转化为数值
D.Python是动态类型的语言,任何情况下都不需要进行数据类型转换
8.下列哪一项是可用的变量名:
A.print
B.Print
C.True
D.if
9.下列哪个不是Python中的关键字:
A.in
B.True
C.Try
D.with
10.如下所示代码,点下Enter键后,会输出什么呢?
a=2.0
b=2.0
a is b
A.2.0
B.4.0
C.False
D.True
11.print(r"站住!\t举起手来!")的输出结果为:
print(r"站住!\t举起手来!")
A.站住!举起手来!
B.站住! 举起手来!
C.站住!
举起手来!
D.站住!\t举起手来!
12.请判断1>2 or 1>=0的运算结果:
A.True
B.False
C.Not
D.False or False
13.算术运算符是处理四则运算的符号,在数字处理中应用的最多,下面哪个不是常用算术运算符:
A.*
B./
C.+=
D.**
14.Python中的位与运算符是:
A.^
B.and
C.|
D.&
15.当我们需要用到取余数赋值时,需要用到什么方法?
A./=
B.-=
C.%=
D.*=
16.在算术运算符中使用%求余,如果除数是负数,那么取得的结果一定是()?
A.正数
B.整数
C.负数
D.0
17.运行下面一段代码,写出你心中的输出结果.
a=-2
b=a if a<0 else -a
print(-b)
A.0
B.2
C.-2
D.编译错误
二、字符串与正则表达式
1.在字符串中搜索第一个匹配的值,要使用什么方法?
A.find()
B.search()
C.sorted()
D.found()
2.听说你有仙女棒,能变大变小变漂亮?没有仙女棒的我用Python也能随意转换大小!想要把大写字母全部转换为小写字母,只需使用()方法:
A.lower()
B.upper()
C.bigger()
D.smaller()
3.在Python中一个数字占几个字节:
A.0.5个
B.1个
C.2个
D.4个
4.正则表达式中使用()来匹配任意数量的字母或数字或下划线或汉字:
A.\w
B.\b
C.^
D.\w*
5.使用re模块实现正则表达式时,哪一项能用*替换原字符串中的数字。答案:
A.replace()
B.sub()
C.match()
D.split()
6.如果我们想要返回将小写字母变成大写字母的字符串,需要用什么方法?
A.s.find()
B.s.split()
C.s.lower()
D.s.upper()
7.下面哪个不是re模块提供的匹配字符串方法?
A.finally()
B.findall()
C.search()
D.match()
8.在re模块内,从字符串开始处进行匹配的方法是:
A.match()
B.search()
C.findall()
D.sub()
9.Python中使用正则表达式,需要():
A.先使用import语句引入re模块
B.先使用import语句引入math模块
C.使用match()方法
D.使用限定符
10.正则表达式中,匹配不符合指定字符集合的字符串需要用什么字符?
A.!=
B.*
C.^
D.\f
11.如果想要将整数转换成字符串,需要用到什么函数?
A.num()
B.double()
C.int()
D.str()
12.以下关于Python字符串的描述中,错误的是:
A.字符串是用一对双引号""或者单引号''括起来的零个或多个字符。
B.字符串是字符的序列,可以按照单个字符或者字符片段进行索引。
C.字符串包括两种序号体系:正向递增和反向递减。
D.Python字符串提供区间访问方式,采用[N:M]格式,表示字符串从N到M的索引子字符串(包含N和M)
13.话说,天下大事,分久必合,合久必分!Emmmm…下列关于字符串的分割说法正确的是:
A.分割是将字符串分割成任意序列
B.指定了split()方法的最大分割次数,就必须分割这么多次
C.在使用split()方法进行分割字符串时,如果不指定分隔符,就不能指定分割次数
D.如果不指定分隔符,则只能根据字符串中的空格进行分割
14.在使用format()方法格式化字符串时,用()表示十进制整数类型的数据:
A.s
B.f
C.d
D.e或者E
15.下列哪个方法能够根据“,”分割字符串:
A.s.split()
B.s.strip()
C.s.type()
D.s.search()
16.下面这个表达式的值为多少?
print(chr(ord('a') ^ 32))
A.a
B.'a'
C.'A'
D.A
17.用于除去字符串左右两侧的空格和特殊字符,是什么方法?
A.strip()
B.lower()
C.upper()
D.format()
18.下面这段代码,输出结果是什么?
import re
print(re.match('www', 'www.runoob.com').span())
A.(0, 2)
B.(1, 2)
C.(0, 3)
D.(1, 3)
19.“是不是朋友,帮忙砍一刀”!虽然拼多多上市颇受争议,但其砍价的营销模式几乎“尽人皆知”.小明写了一段模仿拼多多砍价的代码,假设一个好友每次只能砍掉不超过商品价格十分之一的价钱,小红要买一件4000元的商品,@小明帮忙砍价,根据这段代码小明砍价的输出结果可能为:
import random
price = int(input("商品价格:\n"))
decrease = random.uniform(0, price / 10) # 随机砍价,砍掉价格不超过商品价格的十分之一
print("砍掉{:,.2f}元".format(decrease))
A.砍掉32元
B.砍掉0,234.56元
C.砍掉333.333333333元
D.砍掉259.66元
20.字符串也属于序列,可以通过索引访问.下列代码的输出结果为:
word = '蒹葭苍苍,白露为霜。所谓伊人,在水一方。'
print(word.index("蒹葭苍苍,白露为霜。"))
print(word.index("蒹葭萋萋,白露未晞。"))
A.0 报错
B.[0,1,2,3,4,5,6,7,8,9,] 报错
C.[0,1,5,6]
D.报错
21.下面的代码输出结果是什么?
import re
pattern = re.compile(r'\d+')
result1 = pattern.findall('run88oob123google456', 0, 10)
print(result1)
A.run88oob123google456
B.['run88oob123google456']
C.['88', '12']
D.['88', '12','456']
22.年轻与否无关乎年龄,而在于你是否依旧热血沸腾,感想敢拼!请判断下列代码的输出结果:
import re
string = 'Success will belong to those who never say "impossible". '
pattern = '[a-zA-Z]+'
p = re.findall(pattern, string)
print(' '.join(p))
A.will belong to those who never say impossible
B.['Success', 'will', 'belong', 'to', 'those', 'who', 'never', 'say', 'impossible']
C.Success will belong to those who never say impossible
D.Success will
23.集才华和幽默于一身的李健老师曾说过“Practice makes perfect.”没错,熟能生巧!正则表达式并不难,只要练得多,必能记得准.准备好了吗?开练!下列代码的输出结果为:
import re
m = re.findall('\d+', 'Ready?321Go!')
n = re.findall('\d+?', 'Ready?321Go!')
print('m=', m)
print('n=', n)
A.m= ['321'] n= ['321']
B.m= ['321'] n= ['3', '2', '1']
C.m = ['321','Go!'] n = ['3', '2', '1', 'Go!']
D.m= ['3', '2', '1'] n= ['3', '2', '1']
24.写英文邮件时,一般都是以“Dear xxx”的格式开头,如果想输出“Dear Wilson:”,则下列代码中 ①②处分别填入:
import re
pat = '{name}'
text = 'Dear ① '
result = re.sub( ② )
print(result)
A.①name ② pat,'Wilson',text
B.①{name} ② pat,'name',text
C.①{name}: ② pat,'Wilson',text
D.①{Wilson}: ② pat, 'name', text
25.下列代码的输出结果为:
s1 = '无敌'
s2 = ['阳光', '美少女']
s3 = s1.join(s2)
print(s3)
A.阳光美少女无敌
B.无敌美少女阳光
C.阳光无敌美少女
D.['阳光','美少女', '无敌']
26.strip()的“功力”到底有多深?计算表达式’abcab’.strip(‘ab’)的值就知道了!正确的值为:
A.bca
B.bcab
C.abca
D.c
27.给出如下代码,以下哪个选项能输出字符“八”出现的次数?
s = list(
"巴老爷有八十八棵芭蕉树,来了八十八个把式要在巴老爷八十八棵芭蕉树下住."
"老爷拔了八十八棵芭蕉树,不让八十八个把式在八十八棵芭蕉树下住.八十八个"
"把式烧了八十八棵芭蕉树,巴老爷在八十八棵树边哭.")
A.print(s.count("八"))
B.print(s.index("八"))
C.print(s.index("八"),6)
D.print(s.index("八"),6,len(s))
28.小明未开启手机指纹支付方式,需要设置6个数字的微信支付密码,下列哪项是正确的微信支付密码格式:
A.[0-9]{1,6}
B.[0-6]{0,9}
C.[0-9]{6}
D.[0-9]{1-6}
29.“轻轻地尝一口,这香浓的诱惑,你喜欢的样子我都有。”别误会,我是你的心灵健康食品——冰淇淋啦!我有下图所示口味,要如何输出如图所示效果呢?①处应填入:
print('********冰淇淋口味********\n')
taste = ['香草', '抹茶', '酸奶', '巧克力', '原味']
total = '/'.①(taste)
print(total)
A.split
B.join
C.find
D.strip
30.小明要求使用正则表达式匹配一个非负整数的数值,下面哪个表达式是非负整数?
A.^\c+$
B.^\b+#
C.^\d+$
D.^\d+@
31.动物园里有什么?有elephant,whale,panda,deer,monkey,在这些动物中,只有whale鲸鱼是生活在水中的,想要输出在陆地上生活的动物,小明写了如下代码,是否正确:
import re
animal = 'elephant,whale,panda,deer,monkey'
m = re.match('whale', animal)
print(animal[:m.start() - 1] + animal[m.end():])
A.正确
B.不正确,第3行代码中的match应改为search
C.不正确,第2行代码应为 animal = ['elephant','whale','panda','deer','monkey']
D.不正确,第4行代码应改为print(m)
32.小地瓜想要把一段文字中的所有开头的数字内容输出出来,看看他写的对么?
import re
s = "i love you not because 12sd 34er 56df e4 54434"
content = re.findall(r\d\b",s)
print(content)
A.3行最后加:
B.4行最后的s去掉
C.3行r\d\b",s改为r"\b\d",s
D.没有错误
33.'先相信自己,然后别人才会相信你。'这是小明最喜欢的一句话,他想计算这句话的长度,看看他写的对么?
str1='先相信自己,然后别人才会相信你。'
length = len(str1)
print(len)
A.1行单引号去掉
B.2行str1后加:
C.3行len改成length
D.没有错误
34.有一段无序的字符串,小亮想要在其中查找出’1’第一次出现的位置,看看他写的对吗?
str1 = 'xagewfa4w14qd'
print(str1.count('1'))
A.第一行单引号改为双引号
B.第二行count改为found
C.第二行count改成find
D.没有错误
35.历史首金!2018年8月29日,雅加达亚运会电子竞技表演赛——英雄联盟项目决赛中,中国力克韩国赢得LOL金牌,成功的为电竞正名.LOL是 League of Legends的简称,中文译为《英雄联盟》.小明想输出League of Legends中长度为6个字母的单词,但他写的代码有误,请问应怎么改正:
import re
event = 'League of Legends'
pat = re.compile('[a-z]{6}')
print(pat.findall(event))
A.第4行代码应改为pat = re.compile(r'\b[a-zA-Z]{6}\b')
B.第4行代码应改为pat = event.compile(r'\b[a-zA-Z]{6}\b')
C.第5行代码应改为print(event.findall(pat))
D.第5行代码应改为print(pat.search(event))
36.小明写了一段是i like work,他想把这句话变成大写的,看看他写的对么?
str1 = 'i love working'
print(str1.lower())
A.1行working改为working:
B.2行lower改为upper
C.2行lower()改为lower(str1)
D.没有错误
37.小明在运动会百米比赛中跑了10.8秒取得了冠军,他想用字符串拼接法输出自己的百米成绩,看看他有什么错误吧!
str1 = '小明的百米成绩是'
num = 10.8
str2 = '分'
print(str1 + num + str2)
A.第一行最后加:
B.第三行去掉引号
C.第四行num改成str(num)
D.没有错误
38.逼疯老外的中文台词!神雕侠侣中小龙女说过一句话:“我也想过过过儿过过的生活。” Peter请教小明这句话到底什么意思?该怎么断句?小明看后哈哈大笑,解释说这句话的意思其实是“我也想过过(体验)过儿(杨过)过过(经历过)的生活。”所以小明写了如下代码帮Peter断句,想要输出“我也想过过 过儿 过过 的生活。”,请问代码是否有误?
import re
dialogue1 = "我也想过过过儿过过的生活。"
meaning = "我也想过过(体验)过儿(杨过)过过(经历过)的生活。"
pattern = r'(体验)|(杨过)|(经历过)'
dialogue2 = re.findall(pattern, ' ', meaning)
print(dialogue2)
A.准确无误
B.第4行代码应改为pattern = r'(体验),(杨过),(经历过)'
C.第5行代码中findall应改为sub
D.第5行代码应改为dialogue2 = re.search(pattern,meaning)
39.做游戏“成语接龙”,一个人输入一个成语,另一个人来接龙,小明写了如下代码,这个游戏能运行起来吗?
s1 = input('请输入一个成语:\n')
s2 = input('请为<', s1, '>接龙:\n')
if s2.startswith(s1[3]) and len(s2) == 4:
print("接龙成功")
else:
print("接龙失败")
A.可以
B.不能,第2行中的","应改为"+"
C.不能,第3行的startswith应改为endswith
D.不能,第3行的s1[3] 应改为s1.endswith()
40.有一段话,刘二豆想提取每行中完整的年月日和时间字段,他写的对么?
import re
s = """se234 1987-02-09 07:30:00
1987-02-10 07:25:00"""
content = re.find(r"\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}", s, re.M)
print(content)
A.4行移动到第3行
B.3行3行引号改成1对引号
C.5行find改成findall
D.5行r"\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}",s,re.M改成r"\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}"