第一章
一、选择题
-
Python语言属于 C
A.机器语言
B.汇编语言
C.高级语言
D.以上都不是 -
在下列选项中,不属于Python特点的是 B
C.可移植性
D.免费和开源
A.面向对象
B.运行效率高 -
在下列选项中,A 是最信用的Pyton版本,也称之为Casiseyrhoip
A. CPython
B. Jython
C. IronPython
D. PyPy -
Python内置的集成开发工具是 D
A. PythonWin
B. Pydev
C. IDE
D. IDLE -
Python解释器的提示符为 C
A. >
B. >>
C. >>>
D. # -
在Python解释器环境中,用于表示上一次运算结果的特殊变量为 B
A. :
B. _
C. >
D. # -
A 是Python官方的扩展库索引,所有人都可以下载第三方库或上传自己开发的库到其中。
A. PyPI
B. PyPy
C. Pydev
D. pip
二、填空题
- Pyhon语言是一种解释型 、面向对象的计算 机程序设计语言
- 用户编写的Python程序(避免使用依善干系统的特性),无须修改就可以在任何支持Python的平台上运行,这是Python的可移植性
- 在Python3.4以后的版本中,pip用于安装管理Python扩展包,setuptools库用于发布Python包
- 如果要关闭Python解释器,可以使用quit()命令或者按 ctrl+z组合键
- 在Python内置的集成开发环境IDLE中可以使用F5 键运行当前打开的源代码
- Python注释以符号#开始,到行尾结束
- 在Pyrhon程序中导入sys模块后,可以通过列表sys.argv访问命令行参数,
argv[0]表示Python脚本名;argv[1]表示第1个参数。 - 在Python解释器中,使用help()函数可以进入帮助系统:输入quit()可以退出系统
第二章
一、选择题
- 在Python中,以下标识符合法的是 A
A. _
B.3C
C. it’s
D. str
B选项数字不能在开头,C选项’ - 在Python表达式中可以使用 A控制运算的优先顺序
A.圆括号()
B.方括号[ ]
C.花括号{}
D.尖括号<> - 在下列Pyho语句中非法的是 B
A.x=y=1
B.x=(y=1)
C.x,y = y,x
D.x=1; y=1 - 以下Python注释代码不正确的是 D
A. # Python注释代码
B. # Python注释代码1 #Python注释代码2
C.""" Python文档注释""”
D. // Python注释代码
D选项为C,C++,Java的注释方式 - 数学关系式2<x≤10表示成正确的Python表达式为 B
A. 2<x<=10
B. 2<x and x<=10
C. 2<x && x<=10
D. x>2 or x<= 10 - 在Python中,以下赋值语句正确的是 C
A. x+y=10
B. x=2y
C. x=y= 30
D. 3y=x+1 - 为了给整型变量x.y、z赋初值10,下面Python赋值语句正确的是
C
A. xyz=10
B. x=10 y=10 z=10
C. x=y=z=10
D. x=10,y=10,z= 10 - 为了给整型变量 x y z赋初值5,下面Python赋值语句正确的是
A
A. x=5; y=5; z=5
B. xyz=5
C. x,y,z=5
D.x=5, y=5, z=5 - 已知x=2并且y=3,复合赋值语句x =y + 5执行后x变量中的值是 B
A.11
B.16
C.13
D. 26
x = x(y+5) = 2*8 =16 - 在整型变量x中存放了一个两位数,如果要将该两位数的个位数字和十位数字交换位置, 例如将13变成31,以下Python表达式正确的是 A
A. (x % 10) * 10 + x // 10
B.(x % 10) // 10 + x // 10
C.(x / 10) % 10 + x // 10
D. (x % 10) * 10 + x % 10 - 下列与数学表达式 (cd)/(2ab) 对应的Python表达式不正确的是
C
A. c* d / (2 * a * b)
B. c / 2 * d / a / b
C. c * d / 2 * a * b
D. c * d / 2 / a / b
C = abcd/2
二、填空题
- Python 语句分为 简单语句和复合语句
- Python使用缩进格式划分语句块
- 在Python中如果语句太长,可以使用 \ 作为续行符
- 在Python中一行书写两条语句时,语句之间可以使用 ;作为分隔符。
- Python使用符号 #标示注释。
- 在Python中要表示一个空的代码块,可以使用空语句 pass
- 计算2^32 - 1的Python表达式可以书写为 2**32 - 1
- Python 表达式 4.5/2 4.5//2 和 4. 5%2的值分别为 2.25 2.0 0.5
- Python表达式12/4 - 2 + 5 * 8 / 4 % 5 / 2的值为 1.0
3.0 - 2 + 0 = 1.0 - Python 中的大部分对象均为不可变对象,例如 int str string tuple等, list dict等则为可变对象
- Python提供了两个对象身份比较运算符的 is和 is not来测试两个变量是否指向同一个对象;通过内置函数 type来测试对象的类型;通过 == 运算符判断两个变量指向的对象的值是否相同。
- Python 语句序列“a,b=3,4; a,b = b,a; print(a,b)”的执行结果是 4 3
第三章
一、选择题
-
下面的Pyrhon循环体的执行次数与其他不同的是 A
A. i=0
~~~~ while(i <= 10):
~~~~~~~~~~ print(i)
~~~~~~~~~~ i = i + 1
B.i = 10
~~~~ while(i>0):
~~~~~~~~~~ print(i)
~~~~~~~~~~ i=i-1
C. for i in range(10):
~~~~~~~~~~ print(i)
D. for i in rarge(10, 0, -1):
~~~~~~~~~~ print(i)
A 11次 B 10次 C 10次 D10次 -
执行下列Python语句将产生的结果是 A
x=2;y=2.0
if(x==y): print(“Equal”)
else: print(“Not Equal”)
A. Equal
B. Not Equal
C.编译错误
D.运行时错误 -
执行下列Python语句将产生的结果是 B
i = 1
if (i): print(True)
else: print(False)
A.输出1
B.输出True
C.输出False
D.编译错误 -
用if语句表示如下分段函数f(x),下面程序不正确的是 A
f(x) = (2x+ 1) x≥1
~~~~~~ = 3x/(x一1) x< 1
A. if(x>=1):f=2 * x+1
f=3 * x/(x- 1)
B. if (x>=1): f=2 * x+1
if (x<1): f=3 * x/(x-1)
C. f = 2 * x+ 1
if (x<1): f=3 * x/(x-1)
D. if (x<1): f=3 * x/(x-1)
else: f= 2 * x+1
找个数代入就可以 -
下面的if语句统计满足“性别(gender)为男、职称(rank)为教授、年龄(age)小于40岁”条件的人数,正确的语句为 B
A. if (gender == “男" orage<40 and rank == “教授”): n+=1
B. if (gender == “男” and age<40 and rank ==“教授"): n+=1
C. if (gender == “男” and age<40 or rank ==“教授”); n+=1
D. if (gender == “男” or age<40 or rank == “教授”): n+=1 -
下面的程序段求x和y两个数中的大数, D是不正确的
A. maxMum= x if x > y else y
B.maxNum = math.max(x,y)
C.if (x>y): maxNum = x
else: maxNum = y
D.if (y>=x): maxNum=y
maxNum=x -
下面的if语句统计”成绩(score)优秀的男生以及不及格的男生的人数,正确的语句为 C
A. (gender= = “男” and score<60 or score>=90): n+=1
B. if(gender == “男” and score<60 and score>=90): n+=1
C. if (gender ==“男” and (score<60 or score>=90)): n+=1
D. if (gender = = “男” or score<60 or score>=90): n+=1 -
用 if 语句表示如下分段函数:
y = x^2-2x+3 x<1
= sqrt(x-1) x≥1
下面程序段不正确的是 B
A. if(x<1):y=x * x- 2 * x + 3
else:y=math.sqrt(x-1)
B. if(x≤1):y = x * x- 2 * x + 3
y = math. sqrt(x-1)
C. y = x * x - 2 * x + 3
if(x>= 1):y= math.sqrt(x-1)
D. if(x<1): y = x * x - 2 * x + 3
if(x>=1):y = math. sqrt(x-1) -
在以下语句结构中,A不能完成1~10的累加功能 A
A. for i in range(10,0): total += i
B. for i in range(1,11): total += i
C. for i in range(10,0,-1): total += i
D. for i in (10,9,8,7,6,5,4,3,2,1): total+=i
二、填空题
- 迭代器是一个对象,表示可迭代的数据集合,包括方法 iter() 和 next(),可实现迭代功能
- 在Python无穷循环whileTrue:的循环体中可以使用 break语句退出循环
- Python 语句“for i in range(1,21,5): print(i, end=’ ')”的输出结果为 1 6 11 16
- Python 语句“for iin range(10,1,-2): print(i, end=’ ')”的输出结果为 10 8 6 4 2
- 循环语句for i in range(-3,21,4)的循环次数为 6
- 要使语句for i in range(_,-4,-2)循环执行15次,则循环变量i的初值应当为 25或26
- 执行下列Python语句后的输出结果是 1,循环执行了 1次
i = -1;
while(i<0): i * = i
print(i)
第四章
一、选择题
- 在下列数据类型中,Python不支持的是 A
A. char
B. int
C. float
D. list - Python 语句print(type(1J))的输出结果是 A
A. < class ‘complex’>
B. < class ‘int’>
C. < class ‘float’>
D. < class ‘dict’>
complex复数 - Python 语句print(type(1/2))的输出结果是 C
A. < class ‘int’>
B. < class ‘number’>
C. < class ‘float’>
D. < class ‘double’> - Python语句print(type(1//2))的输出结果是 A
A. < class ‘int’>
B. < class ‘number’>
C. < class 'float ‘>
D. < class ’ double’> - Python 语句序列“a=121+ 1.21; print(type(a))”的输出结果是 B
A. < class ‘int’>
B. < class ‘float’>
C, < class ‘double’>
D. < class ‘long’> - Python 语句print(0xA + 0xB)的输出结果是 D
A.0xA + 0xB
B.A+B
C.0xA0xB
D.21
0xA十六进制 等于十进制的10
0xB十六进制 等于十进制的11 - Python语句序列“x= ‘car’; y=2; print(x+y)”的输出结果是 A
A.语法错
B. 2
C.‘car2’
D.‘carcar’ - Python 表达式sqrt(4) * sqrt(9)的值为 D
C.13. 0
D.6.0
A.36.0
B.1296. 0 - 关于Pyhon中的复数,下列说法错误的是 C
A.表示复数的语法是real+ image j
B.实部和虚部都是浮点数
C.虚部必须后缀为j,且必须是小写
D.方法conjugate()返回复数的共轭复数 - Python语句print(chr(65))的运行结果是 D
A.65
B.6
C.5
D.A
ord()函数主要用来返回对应字符的ascii码
chr()主要用来表示ascii码对应的字符他的输入时数字,可以用十进制,也可以用十六进制 - 关于Python字符串,下列说法错误的是 B
A.字符即长度为1的字符串
B.字符串以\0标识字符串的结束
C.用户既可以用单引号,也可以用双引号创建字符串
D.在三引号字符串中可以包含换行回车等特殊字符
二、填空题
- Python中内置的4种数值类型为 int float complex bool
- Python 内置的序列数据类型包括 list tuple
- Python表达式10+5//3-True+False的值为 10
True=1 False=0 - Python表达式3 ** 2 ** 3的值为 6651
3 ** 8, 从右向左 - Python表达式17.0 / 3 ** 2的值为 1.88888888888888888
17.0 / 9 - Python表达式 0 and 1 or not 2 < True的值为 True
同时 < 优先级高于 not and or
0 and 1 or not False
0 or True
True - Python语句print(pow( -3, 2),round(18.67,1), round(18.67, -1))的输出结果是 9.0 18.7 20.0
n>0,四舍五入到指定的小数位
n=0, 四舍五入到最接近的整数
n<0 ,在小数点左侧进行四舍五入 - Python语句print(round(123.84,0), round(123.84,-2), floor(15.5))的输出结果 124.0 100.0 15
- Python语句print(int(‘20’,16),int(‘101’, 2))的输出结果是 32 5
十六进制的20转十进制 2 * 16=32
二进制的101转十进制 1 * 2^2+1=5 - Python语句print(hex(16),bin(10))的输出结果是 0x10 0b1010
十进制的16转十六进制 0x10
十进制的10转二进制 0b1010 - Python语句print(2.5, as_integer_ratio())的输出结果是 (5, 2)
- Python语句print(float,as_integer_ratio(1.5))的输出结果是 (3, 2)
- Python语句print(gcd(12, 16), divmod(7,3))的输出结果 4 (2, 1)
gcd 最大公约数
divmod(7,3) 7/3 7%3 - Python语句print((2-3j).conjugate() * complex(2,3))的输出结果是-5+12j
(2+3j)* (2+3j) = 4 - 9 +12j = -5+12j - Python语句print(sum((1,2,3)), sum((1,2,3), 10) )的输出结果是6 16
- Python语句print(abs(-3.2), abs(1-2j))的输出结果 3.2 2.23606797749979
1-2j的绝对值其实就是这个向量的长度根号5 - Python的标准随机数生成器模块是 random
- 数学表达式
math库
以下为部分
- 数学表达式
- Python的内置字典数据类型为 dict
- Python语句序列“x=True; y=False; z=False; print(x or y and z);"的运行结果是 True
- Python语句序列”x=0; y=True;print(x>=y and ‘A’<‘B’)“的运算结果是 False
- 在直角坐标系中,(x,y)是坐标系中任意点的位置,用x和y表示第一象限或者第二象限的Python表达式为 y>0 and x != 0
- 判断整数i能否同时被3和5整除的Python表法达式为 3 % i == 0 and 5 % i == 0
- 已知”a=3; b=5; c=6; d=True“, 则表达式not d or a >= 0 and a+c > b+3的值True
False or True and True
False or True
True - Python表达式 16 - 2 * 5 > 7 * 8 / 2 or “XYZ” != “xyz” and not(10-6> 18 / 2)的值为
False or True and True
False or True
True - 执行下列Pthon语句产生的结果是 True False
m = True; n = False; p=True
b1 = m | n ^ p
b2 = n | m ^ p
print(b1,b2)
异或优先级比或高 - Python语句print(chr(ord(‘B’)))的执行结果是 B
- Python语句print(“hello” ‘world’)的执行结果是 helloworld
第五章
一、选择题
- Python语句print(type([1, 2, 3,4))的运行结果是 D
A. < class ‘tuple’>
B. < class ‘dict’>
C.<class ‘set’>
D.<class ‘list’> - Python 语句pintye((1,2, 3, 4))的运行结果是 A
A. < class ‘tuple’>
B. < class ‘dict’>
C.<class ‘set’>
D.<class ‘list’> - Python 语句print(type({1, 2, 3, 4))的运行结果是 C
A. < class ‘tuple’>
B. < class ‘dict’>
C. <class ‘set’>
D. < class 'list> - Pyhon 语句序列“a = (1,2,3, None,(),[],); print(len(a))的运行结果
是 C
A.4
B.5
C.6
D.7 - Python 语句序列“nums=set([1,2,2,3,3,3,4]); print(len( nums))"的运行结果 C
A.1
B.2
C.4
D.7 - Python 语句序列“s= ‘hello’; print(s[1:3])"的运行结果是 D
A.hel
B.he
C.ell
D.el - Python语句序列“s1=[4,5.6]; s2=s1; s1[1]=0; print(s2)”的运行结果是 C
A. [4,5,6]
B. [0,5,6]
C. [4,0,6]
D.以上都不能 - Pyhon语句序列"d=(1: ‘a’,2: ‘b’, c:‘3’); print(len(d))"的运行结果是 C
A.0
B.1
C.3
D.6 - Python语句序列“a = [1,2,3,None,(),[],]; print(len(a))"的运行结果是
D
A.语法错
B.4
C.5
D.6 - Python语句prin( ‘\x48\x41!’)的运行结果是 D
A. ‘\x48\x41!’
B. 4841!
C.4841
D. HA!
十六进制48 转为 十进制 4*16 + 8 = 72 即H
同理41即A - Python语句序列“s= {‘a’,l,‘b’,2); print(s[‘b’])”的运行结果是 A
A.语法错
B.‘b’
C.1
D.2 - Python 语句print(r"\nGood")的运行结果是 C
A.新行和字符串Good
B. r"\nGood"
C. \nGood
D.字符r、新行和字符串Good
二、填空题
- Python 语句序列"fruits = [‘apple’,‘banana’, ‘pear’]; print(fruits[-1][-1])”的运行结果是 r
- Python 语句序列“fruits =[‘apple’,‘banana’,‘pear’]; print(fruits.index('apple))"运行结果是 0
- Python语句序列"fruits=[ ‘apple’ ,‘banana’, ‘pear’]; print( ‘Apple’ in fruits)”的运行结果是 False
- Python语句print(sum(range(10)))的运行结果是 45
- Python 语句print(’%d%%%d’ % (3/2, 3%2)的运行结果是 1%1
必须是两个% - Python语句序列”s1=[1,2,3,4];s.append([5,6]); print(len(s))"的运行结果是 5
[5,6] 一个元素
s1=[1,2,3,4,[5,6]]
- Python语句序列"s1=[1,2,3,4]; s2 =[5,6,7]; print(len(s1+s2))"的运行结果是 7
- Python 语句序列"print(tuple(range(2)), list(range(2)))"的运行结果是(0,1) [0,1]
- Python 语句序列"print(tuple([1,2,3]), list([1,2,3]))"的运行结果是(1, 2, 3) [1, 2, 3]
- Python列表解析表达式[i for i in range(5) if i%2 != 0] 和 [i**2 for i in range(3)]的值分别为[1,3] [0,1,4]
- Python 语句"first, * middles, last = range(6)" 执行后,middles的值为[1,2,3,4]
语句"first, second, third, * lasts = range(6)" 执行后,lasts的值为[3, 4, 5]
语句“*firsts, last3, last2, last1 = range(6)" 执行后firsts的值为[0, 1, 2]
以上结果均为list
语句“first, *middles, last= sorted([86, 85, 99, 88,60, 95, 96])"执行后sum(middles)/len(middles)的值为90.0
注意与可变参数区分
用在变量的前面
向函数传递参数,将变量中可迭代对象的元素拆解出来,作为独立的参数第传给函数
- 在Python中设有 s = (‘a’,‘b’,‘c’,‘d’,‘e’)
s[2]的值为 ‘c’
s[2:4]的值为(‘c’,‘d’)
s[:3]的值为(‘a’,‘b’,‘c’)
s[1: :2]的值为(‘b’,‘d’)
s[-2]的值为(‘d’)
s[::-1]的值为(‘e’,‘d’,‘c’,‘b’,‘a’)
s[-2:-1]的值为(‘d’,)
s[-2:]的值为(‘d’,‘e’)
s[-99:-5]的值为()
s[-99:-3]的值为(‘a’,‘b’)
s[::]的值为(‘a’,‘b’,‘c’,‘d’,‘e’)
s[1:-1]的值为(‘b’,‘c’,‘d’) - 在Python 中设有s=[1,2,3,4,5,6]
max(s)值为 6
min(s)值为 1
语句序列“s[: 1]=[];s[: 2]=‘a’;s[2: ]=‘b’; s[2:3]=[‘x’, ‘y’]; del s[: 1]"执行后,s值为[4, ‘x’, ‘y’]
- 在Python中设有s=[‘a’, ‘b’],则语句序列“s. append([1,2]); s.extend(‘34’);s.extend([5,6]); s.insert(1,7);s. insert(10,8);s. pop(); s.remove(‘b’); s[3: ]=[];s.reverse()"执行后,s 值为[[1, 2], 7, ‘a’]
第八章
一、选择题
-
Pytbon语句print(type(lambda:None))的输出结果是D
A.<class ‘NoneTpye’>
B. < class ‘tuple’>
C. <class ‘type’>
D.<class ‘function’> -
Python语句序列“f = lambdax,y : x * y; f(12, 34)”的运行结果是D
A.12
B.22
C.56
D.408 -
Pyhon语句序列"f1 = lambda x : x*2; f2 = lambda x: x** 2;
print( f1(f((2)))的运行结果是D
A. 2
B.4
C.6
D.8 -
在Python中,若有def f1(p, ** p2): print(type(p2)),则f1(1, a=2)的运行结果是C
A. <class ‘int’>
B. <class ‘type’>
C. < class ‘dict’>
D. < class ‘list’>
函数声明时,通过带*的参数向函数传递可变数量的实参
*后的所有参数被收集为一个tuple
**后的所有参数被收集为一个dict文章来源:https://www.toymoban.com/news/detail-467950.html -
在Pyhon中,若有def f1(a,b,c); print(a+b),则语句序列“nums=(1,2,3); f1(*nums)”的运行结果是C
A.语法错
B. 6
C.3
D. 1文章来源地址https://www.toymoban.com/news/detail-467950.html
二、填空题
- Python表达式eval(“5/2 + 5%2 + 5//2”) 的结果是 5.5
eval() 函数用来执行一个字符串表达式,并返回表达式的值
2.5 + 1 + 2 - 如果要为定义在函数外的全局变量赋值,可以使用global语句,表明变量是在外面定义的全局变量
- 变量按其作用域大致可以分为局部变量、全局变量和类成员变量
- 在Python的sys模块中,函数getrecursionlimit()和setrecursionlimit()分别用于获取和设置最大递归次数
- 在Python中,使用内置函数locals()和globals()可以查看并输出局部变量和全局变量列表
到了这里,关于《Python程序设计与算法基础教程(第二版)》江红 余青松 课后选择题 课后填空题答案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!