华南理工大学 Python第3章课后小测-2

2022-12-01,,

1、(单选)给出如下代码

s = 'Hello scut'
print(s[4::-1])

上述代码的输出结果是(本题分数:2)
A) Hello
B) olleH
C) scut
D) tucs
您的答案:B  正确率:100%

2、(单选)下列程序段的输出结果是()。

print("{:*<10}:{:*^7.2f}".format("Length",23.8750))

(本题分数:2)
A) Length****:23.8750
B) Length****:*23.88*
C) ****Length:23.88**
D) ****Length:*23.88*
您的答案:B  正确率:100%

3、(单选)给定字符串Numbers="01234567",以下哪个操作能获得所有奇数组成的字符串。(本题分数:2)
A) Numbers[1:-1:2]
B) Numbers[::]
C) Numbers[::2]
D) Numbers[1::2]
您的答案:D  正确率:100%

4、(单选)以下哪条语句能判断字符串变量str是否为空字符串。(本题分数:2)
A) if str=="":
B) if len(str)==0:
C) if not str:
D) 以上都可以
您的答案:D  正确率:100%

5、(单选)关于Python的数字类型,以下选项中描述错误的是(本题分数:2)
A) 6.0是浮点数,不是整数
B) 复数类型实部为5,虚部为0时,表示为5+0j
C) 整数类型的数值一定不会出现小数点
D) 浮点数也有十进制、二进制、八进制和十六进制等表示方法

【解析】浮点数只有十进制和科学计数法的表示方法
您的答案:D  正确率:100%

6、(单选)下面代码的执行结果是

a = 123456789
b = '*'
print('{0:{2}>{1},}\n{0:{2}^{1},}\n{0:{2}<{1},}'.format(a,13,b))

(本题分数:2)
A) **123,456,789
*123,456,789*
123,456,789**

B) 123,456,789**
**123,456,789
123,456,789**
C) 123,456,789**
123,456,789**
**123,456,789
D) **123,456,789
123,456,789**
123,456,789**

【解析】每一个{}中:后面的第一个为填充字符,第二个>或<或^代表对齐方式,第三个为宽度
您的答案:A  正确率:100%

7、(单选)关于python字符串编码,以下选项中描述错误的是(本题分数:2)
A) Python 可以处理任何字符编码文本
B) Python默认采用Unicode字符编码
C) ord(x)和chr(x)是一对函数
D) chr(x)将字符转换为Unicode编码

【解析】ord()函数主要用来返回对应字符的ASCII码。chr()主要用来表示ASCII码对应的字符,输入时数字,可以用十进制,也可以用十六进制
您的答案:D  正确率:100%

8、(单选)执行下面程序,输出结果正确的是

s='Hello World'
print(s.upper(), s.replace('World', 'SCUT'))

(本题分数:2)
A) hello world Hello SCUT
B) BHELLO WORLD HELLO SCUT
C) HELLO WORLD Hello SCUT
D) HELLO SCUT
您的答案:C  正确率:100%

9、(单选)下列关于表达式  "{0:1>20.4}".format(123.45678,9)的说法中,正确的有()个。
(1).format前面的字符串称为模板字符串
(2)冒号前面的0表示第一个参数123.45678,冒号后面的1表示第二个参数9
(3)1后面的大于号表示输出结果按右对齐
(4)大于号后面的20表示输出结果占20位(用空格补齐)
(5)20后面的.4表示输出结果含有4位小数(本题分数:2)
A) 2
B) 3
C) 4
D) 5

【解析】(2)是错的(冒号后面的1表示结果用1来填充),(4)是错的(不是用空格补齐),(5)是错的,.4表示4位数字
您的答案:A  正确率:100%  

10、(单选)下列程序段的运行结果是()(如不指定对齐方式,数字默认是右对齐,字符串默认是左对齐)

a = 5
b = 9
print("a={1:5} b={0:^6}".format(a,b))

(本题分数:2)
A) a=5 b=9
B) a=    5 b=  9
C) a=9   b=  5
D) a=     9 b=  5
您的答案:D  正确率:100%

11、(单选)设a,b是两个字符串变量。下列哪个表达式可以表示a是b的子串?(本题分数:2)
A) 'a' in 'b'
B) 'a' in b
C) a in 'b'
D) a in b
您的答案:D  正确率:100%

12、(单选)设字符串变量p的值是一个大写字符,下列哪个表达式可以把p变成对应的小写字母?(本题分数:2)
A) chr(p - 'A' + 'a')
B) chr(p) - chr('A')+chr('a')
C) ord(p)-ord('A')+ord('a")
D) chr(ord(p)-ord('A')+ord('a'))
您的答案:D  正确率:100%

13、(单选)以下关于字符串.strip()方法功能说明正确的是:(本题分数:2)
A) 替换字符串中特定字符
B) 按照指定字符分割字符串为数组
C) 连接两个字符串序列
D) 去掉字符串两侧指定字符
您的答案:D  正确率:100%

14、(单选)下列关于表达式  "{0:*>10.2f}".format(1.456, 'str')的说法中,错误的是()。(本题分数:2)
A) 冒号前面的0表示参数1.456
B) >表示输出结果左对齐
C) 10表示输出结果占10位
D) .2f表示浮点数保留2位小数
您的答案:B  正确率:100%

15、(单选)对字符串a = "1234567890"进行切片操作,要获得结果'2468',正确的切片方法应该是()。(本题分数:2)
A) a[:-1:2]
B) a[::2]
C) a[1::2]
D) a[1:-1:2]
您的答案:D  正确率:100%

16、(填空)python语言中,s='hello',t='world',s+=t,则s=  'helloworld'  ,s[2:8]=  'llowor'  ,s[::3]=  'hlod'  (本题分数:5)
您的答案:【1】'helloworld'  【2】'llowor'  【3】'hlod'    正确率:100% 

17、(填空)Python中print('abcd'<'ad')的输出为  True  (填True或False)(本题分数:2)

【解析】注意:True和true是不一样的。
您的答案:【1】True    正确率:100%

18、(程序填空)以下程序获得用户输入的一个整数a,计算a的平方根,保留小数点后3位,并打印输出。

‬‮‬a=eval(input("请输入整数a:"))
s=__(1)__ #计算a的平方根
print("{ __(2)__ }".format(s)) #格式化输出字符串

(本题分数:5)

【参考答案】
(1)pow(a,0.5)
(2)0:.3f
评分标准:
1、空(1)50分,空(2)50分。
2、空(1)如果填写sqrt(a),扣20分

19、(填空)请运行Python软件,写出下列表达式的结果:
(1) round(2.5,0)=  2.0  
(2) round(3.5,0)=  4.0  
(3) int(2.5)=  2  
(4) int(3.5)=  3  
思考:对任意一个浮点数,怎样才能做到四舍五入?(本题分数:5)

【解析】round(x,0)不能用来作四舍五入。不同版本的Python编译器,得到的结果不同,不要使用此函数
您的答案:【1】2.0  【2】4.0  【3】2  【4】3    正确率:100%

20、(填空)设s是一个字符串变量,请写出两种取出s的最后一个字符的方法:  s[-1]    s[len(s)-1]  .(本题分数:5)
您的答案:【1】s[-1]  【2】s[len(s)-1]    正确率:100%

21、(程序填空)以下程序,获得用户输入的一个正整数n,然后对该正整数的每一位计算平方,再求和,输出求和的结果。例如,用户输入19,计算1^2+9^2=82,输出82.请在(1),(2)填上合适的语句或表达式。

n = input("请输入一个正整数:")
s=0
for i in __(1)__:
s=s+ __(2)__
print(s)

(本题分数:5)

【参考答案】
(1) range(len(n))
(2) pow(int(n[i]),2) 或者 int(n[i])**2
或者
(1)n
(2)int(i)**2 或 eval(i)**2
评分标准:
1、每空50分
2、空(2)如果漏掉int()或eval(),扣20分

22、(程序填空)以下程序获得用户输入的一个字符串s,以字符减号(-)分割s,然后将其中的首尾两段用加号(+)组合后输出。例如,输入字符串“Alice-Bob-Charis-David-Eric-Flurry”,输出“Alice+Flurry”。

s = input('请输入字符串:')
ls = __(1)__ #用字符减号分割字符串s
print("{}+{}".format( __(2)__, __(3)__ ))

(本题分数:5)

【参考答案】
(1)s.split("-")
(2)ls[0]
(3)ls[-1]
评分标准:
1、错一空,扣30分

23、(程序填空)补完下面的代码:代码完成下列功能,去掉下列字符串的首尾空格,并且将其中的小写字母转为大写(假设该字符串只包含空格和小写大写字母这3种字符)

s=' abc AbC '
__(1)__ # 去掉首位空格
__(2)__ # 转换小写为大写
print(s)

(本题分数:5)

【参考答案】
(1) s = s.strip()
(2) s = s.upper()
评分标准:2个空,一个空50分。交换顺序,不扣分;没有进行新的赋值操作,扣一半的分,即一个空扣25

24、(程序填空)补全下列代码:输入圆的半径 r,输出圆的面积和周长,π 取3.14

r = input('输出圆的半径r: ')
r = eval(r) # 转化为float类型
C = __(1)__
S = __(2)__
print('圆的周长是: ', C)
print('圆的面积是: ', S)

(本题分数:5)

【参考答案】
(1) 2*3.14*r
(2) r**2*3.14
评分标准:2个空,一个空50分,表达式不同于参考答案,但是能正确计算出结果,也给满分;

25、(程序填空)以下程序,月份名称缩写被存储在字符串中,输入一个月份数字,返回对应月份名称缩写。请在(1)(2)处填上适当的语句。

months='JanFebMarAprMayJunJulAugSepOctNovDec'
n=input("请输入月份数(1-12):")
pos=__(1)__
monthAbbrev=months[__(2)__]
print("月份简写是"+monthAbbrev+".")

(本题分数:5)

【参考答案】
(1)(int(n)-1)*3
(2)pos:pos+3
评分标准:
(1)每空50分
(2)空1漏了int类型转换,扣20分

26、(写运行结果)写出下列程序段的输出结果。

s="abc"
t=""
for i in range(3):
t=t+s[i::]
print(t)

(本题分数:5)

【参考答案】
abc
abcbc
abcbcc
评分标准:第一第二行每行30分,第三行40分。完全正确才给分,错一个字母都不给分。

27、(写运行结果)写出下列程序段的输出结果。

for i in range(5):
s="{0:-^5}"
t=(i+1)*str(i)
print(s.format(t))

(本题分数:5)

【参考答案】
--0--
-11--
-222-
3333-
44444
评分标准:一行20分,每行完全正确才给分。

28、(写运行结果)写出以下程序的运行结果。

name="Python语言程序设计课程"
print(name[0]+'\n'+name[2:-2]+'\n'+name[-1])

(本题分数:5)

【参考答案】
P
thon语言程序设计

评分标准:
1、每行错误扣30分

29、(写运行结果)下列代码的运行结果是什么?

s = 'Hello World!'
print(s[-1])
print(s[1])
print(s[0]*3)
print(s[0:3])

(本题分数:5)

【参考答案】
!
e
HHH
Hel
评分标准:4行结果,1行25分,按行给分

30、(写运行结果)下列程序如果输入的两个字符串分别是‘CBCFGCBCBC’和‘CBC’,其输出结果是:

string, sub_string = input("请输入字符串:"), input("请输入子串:")
# 字符串长度
str_len = len(string)
# 子串长度
sub_str_len = len(sub_string)
ct = 0
for i in range(str_len-1):
# 每次取和子字符串长度相等的字符串和子字符串进行比较
if string[i:i + sub_str_len] == sub_string:
ct += 1
print("子串在字符串中出现的次数:%d" % ct)

(本题分数:3)

【参考答案】
3
评分标准:答案正确100分,有误没分

华南理工大学 Python第3章课后小测-2的相关教程结束。

《华南理工大学 Python第3章课后小测-2.doc》

下载本文的Word格式文档,以方便收藏与打印。