第2章课后习题参考答案
一、单选题
Python 中,0 和 0.0 的区别是_____。(答案为B)
A. 大小不同 B. 类型不同 C. 进制不同 D. 完全一样
以下不是 Python 数据类型名称的是_____。 (答案为D)
A. int B. float C. list D. datatype
以下数字是八进制的是_______。(答案为C)
A. 0b101 B. 172 C. 0o711 D. 0x456
4.关于 Python 中的复数,下列说法错误的是______。 (答案为D)
A. 表示复数的语法是real+imag*1j
B. 实部和虚部都是浮点数
C. 虚部部分通过后缀j或J来表示
D. 对于复数z,以用z.real获取它的虚数部分
表达式 10<20<=30 的结果是_______。 (答案为A)
A. True B. 0 C. False D. 1
假设变量 a=5,则表达式 not a 的值是_______。 (答案为C)
A. True B. 0 C. False D. 1
关于 Python 语言数值操作符,以下选项中描述错误的是______。 (答案为D)
A. x/y 表示 x 与 y 的商
B. x//y 表示 x 与 y 的整数商
C. x%y 表示 x 与 y 的余数
D. x**y 表示 x 的 y 次幂,其中 y 必须是整数
8.关于 Python 语言的注释,以下选项中描述错误的是_______。 (答案为B)
A. 单行注释以#开头
B. 单行注释以单引号’开头
C. 多行注释以’‘’(三个单引号)开头和结尾
D. Python 语言有两种注释方式:单行注释和多行注释
9.关于赋值语句,以下选项中描述错误的是_______。 (答案为C)
A. 在Python语言中,有一种赋值语句,可以同时给多个变量赋值
B. 在Python语言中,执行x, y = y, x可以实现变量x和y值的互换
C. 在Python语言中,语句a += 1和a = a + 1不等价
D. 在 Python 语言中,“=”表示赋值
已知 x = 43,y = False;则表达式(x>=y and ‘A’<‘B’ and not y)的值是________。 (答案为C)
A.False B.语法错 C.True D.“假”
下列语句在 Python 中非法的是_______。 (答案为B)
A. x = y = 2 B. x, y = 2 C. x, y = 1, 2 D. x = 1
表达式 ‘y’ < ‘x’ == False 的结果是_______。 (答案为D)
A. True B. Error C. None D. False
13.在 Python 中,一个命令行写多条语句时,语句之间用_______分隔。 (答案为B)
A. , B. ; C. _ D. …
关于数据输入及其处理,以下说法正确的是______。 (答案为D)
A. 在 Python 中语句 x, y=1 是合法的
B. input 函数从控制台获得用户的一行输入,以输入值的类型返回
C. 在 Python 中语句 x=y=z=1 不合法
D. print 函数用于输出运算结果
以下关于 Python 内置函数的描述,错误的是_______。(答案为D)
A. abs(x)返回 x 的绝对值或复数的模
B. type(x)返回 x 对应的类型
C. sorted(x)返回 x 的一个排序列表
D. id(x)返回 x 的值
Python 语言中,以下表达式输出结果为 11 的选项是_______。 (答案为D)
A. print(“1+1”) B. print(1+1) C. print(eval(“1+1”)) D. print(eval(“1”+“1”))
以下关于 Python 字符串的描述中,错误的是______。 (答案为C)
A. 字符串是字符的序列,可以按照单个字符或者字符片段进行索引
B. 字符串包括两种索引体系:正向递增和反向递减
C. Python 字符串提供区间访问方式,采用[n:m]格式,表示字符串中从 n 到 m 的子字符串(包含 n 和 m)
D. 字符串是用一对双引号或者单引号括起来的零个或者多个字符
与[a-zA-Z0-9_]等价的正则表达式元字符是______。(答案为A)
A. \w B. \W C. \s D. \d
正则表达式元字符______用来表示该符号前面的字符或子模式 0 次或多次出现。(答案为A)
A. * B. + C. | D. ^
20.下列关于正则表达式的说法,不正确的是______。 (答案为C)
A. 正则表达式广泛应用于各种文本处理应用程序
B. 正则表达式是由普通字符以及特殊字符(或称元字符)组成的文字模式
C. 正则表达式中可以直接使用元字符作为普通字符使用
D. 正则表达式中\s 表示空白字符,即等价于[\f\n\r\t\v]
二、程序填空题
函数 divmod(20,3)的结果是______。((6, 2))
“{0:.4f}”.format(3.1415926)的输出结果是_______。
当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合、空迭代对象以及任意形式的数字0都等价于_______。(False)
表达式 pow(3,2) == 3**2 的值为_______。(True)
正则表达式元字符______用来匹配任何空白字符,包括空格、制表符、换页符。(\s)
函数 eval(‘500/10’)、eval(“1+2”)和int(“234”)的结果分别是______、和_。(50.0 3 234)
表达式 1001 == 0x3e7 的结果是______。(False)
如 s=“Python\n 编程\t 很容易学”,函数 len(s)的结果是_______。(16)
已知x=‘a234b123c’,并且re模块已导入,则表达式re.split(‘\d+’,x)的值为______。([‘a’, ‘b’, ‘c’] )
计算下列表达式的值(可在上机时验证),设a=7,b=-2,c=4。
(1)3 * 4 ** 5 / 2:; (1536.0)
(2)a * 3 % 2:; (1)
(3)a%3 +bb- c//5:_______;(5)
(4)b**2-4a*c:_______。(-108)
三、程序设计题
1.输入摄氏度,输出华氏度。已知:华氏度 = 摄氏度 × 1.8 + 32.
参考答案:
C = eval(input("输入摄氏温度:")) F = C*1.8+32 print(F)
2.输入小时数及分钟数,将其转换成总分钟数。
参考答案:
Hour = eval(input("小时数:")) Minute = eval(input("分钟数:")) total_minute = Hour*60+Minute print(total_minute)
3.输入a、b、c,判断是否满足a < b < c。
参考答案:
a = eval(input("a=")) b = eval(input("b=")) c = eval(input("c=")) print(a<b<c)
4.已知三角形的三边,求三角形的面积和周长。
参考答案:
import math a,b,c=2,2,2 p=a+b+c S = math.sqrt(p*(p-a)*(p-b)*(p-c)) print("周长:", p, "\t面积:", S)
5.输入一个三位数,求各个数位数字的三次方之和,并判断该和是否与该数相同。
参考答案:
a = eval(input("a=")) ge = a%10 shi = a//10%10 bai = a//100 print(ge**3+shi**3+bai**3 == a)