0.0956

五煦查题

快速找到你需要的那道考题与答案

尔雅python程序设计——从基础到应用_2章节答案(学习通2023完整答案)

81 min read

尔雅python程序设计——从基础到应用_2章节答案(学习通2023完整答案)

第1单元 走进Python

第1单元测验

1、尔雅关于Python语言的程序从基础特点,以下选项中描述错误的设计
A、Python语言是应用多模型语言
B、Python语言是章节整答脚本语言
C、Python语言是答案跨平台语言
D、Python语言是学习非开源语言

2、给出如下代码: >>> x = 3.14 >>> eval('x + 10') 上述代码的通完输出结果是
A、TypeError: must be str,尔雅 not int
B、系统报错
C、程序从基础3.141
D、设计13.14

3、应用关于Python注释,章节整答以下选项中描述错误的答案是
A、注释可以辅助程序调试
B、学习Python注释语句不被解释器过滤掉,也不被执行
C、注释用于解释代码原理或者用途
D、注释可用于标明作者和版权信息

4、下列Python保留字中,不用于表示分支结构的是
A、in
B、if
C、else
D、elif

5、以下选项中,不是IPO模型一部分的是
A、Process
B、Input
C、Output
D、Program

6、在Python函数中,用于获取用户输入的是
A、print()
B、get()
C、input()
D、eval()

7、以下选项中,不是Python打开方式的是
A、命令行版本的Python Shell-Python 3.x
B、Office
C、带图形界面的Python Shell-IDLE
D、Windows系统的命令行工具

8、下面代码的语法错误显示是 print "Hello World!"
A、<built-in function print><o:p></o:p>
B、NameError: name 'raw_print' is not defined
C、SyntaxError: invalid character in identifier
D、SyntaxError: Missing parentheses in call to 'print'

9、关于Python程序格式框架,以下选项中描述错误的是
A、判断、循环、函数等语法形式能够通过缩进包含一批Python代码,进而表达对应的语义
B、Python语言不采用严格的“缩进”来表明程序的格式框架
C、Python单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代码根据缩进关系决定所属范围
D、Python语言的缩进可以采用Tab键实现

10、关于Python语言的注释,以下选项中描述错误的是
A、Python语言的多行注释以'''(三个单引号)开头和结尾
B、Python语言有两种注释方式:单行注释和多行注释
C、Python语言的单行注释以单引号 ' 开头
D、Python语言的单行注释以#开头

11、以下选项中可访问字符串s从右侧向左第三个字符的是
A、s[:-3]
B、s[3]
C、s[0:-3]
D、s[-3]

12、给出如下代码 TempStr ="Hello World" 可以输出“World”子串的是
A、print(TempStr[–4: –1])
B、print(TempStr[–5:])
C、. print(TempStr[–5:0])
D、print(TempStr[–5: –1])

第2单元 基本数据类型、运算符和表达式

第2单元测验

1、以下选项中,不是Python语言保留字的是
A、pass
B、while
C、do
D、except

2、下列选项中不符合Python语言变量命名规则的是
A、_AI
B、TempStr
C、3_1
D、I

3、关于赋值语句,以下选项中描述错误的是
A、设a = 10; b = 20,执行“a, b = a,a + b;print(a,b)” 和 “a = b; b = a + b;print(a,b)”之后,得到同样的输出结果:10 30
B、在Python语言中,“=”表示赋值,即将“=”右侧的计算结果赋值给左侧变量,包含“=”的语句称为赋值语句
C、在Python语言中,有一种赋值语句,可以同时给多个变量赋值
D、a,b=b,a可以实现a和b值的互换

4、下面代码的输出结果是 print(0.1+0.2==0.3)
A、False
B、True
C、true
D、false

5、下面代码的输出结果是print(round(0.1 + 0.2,1) == 0.3)
A、1
B、True
C、0
D、False

6、在一行上写多条Python语句使用的符号是
A、点号
B、逗号
C、分号
D、冒号

7、以下选项中,符合Python语言变量命名规则的是
A、(VR)
B、Templist
C、5_1
D、!1

8、以下选项中,不属于Python保留字的是
A、import
B、def
C、type
D、elif

9、以下选项中,不是Python语言合法命名的是
A、5MyGod
B、MyGod5
C、MyGod
D、_MyGod_

10、关于Python的数字类型,以下选项中描述错误的是
A、Python语言中,复数类型中实数部分和虚数部分的数值都是浮点类型,复数的虚数部分通过后缀“C”或者“c”来表示
B、Python 语言提供int、float、complex等数字类型
C、Python语言要求所有浮点数必须带有小数部分
D、Python语言的整数类型提供了4种进制表示:十进制、二进制、八进制和十六进制

11、下面代码的输出结果是x = 12.34;print(type(x))
A、<class 'bool'>
B、<class 'complex'>
C、<class 'float'>
D、<class 'int'>

12、下面代码的输出结果是print(pow(2,10))
A、12
B、1024
C、100
D、20

13、下面代码的输出结果是x=0o1010;print(x)
A、32768
B、10
C、1024
D、520

14、下面代码的输出结果是x=0x1010;print(x)
A、1024
B、4112
C、10
D、520

15、关于Python的复数类型,以下选项中描述错误的是
A、对于复数z,可以用z.imagl获得实数部分
B、复数类型表示数学中的复数
C、对于复数z,可以用z.real获得实数部分
D、复数的虚数部分通过后缀“J”或“j”来表示

16、下面代码的输出结果是z = 12.12 + 34j print(z.real)
A、34
B、12.12
C、12
D、34.0

17、下面代码的输出结果是z = 12.34 + 34j print(z.imag)
A、34
B、12.12
C、12
D、34.0

18、下面代码的输出结果是 x=10 y=–1+2j print(x+y)
A、11
B、(9+2j)
C、2j
D、9

19、下面代码的输出结果是 x=10 y=3 print(x%y,x**y)
A、3 30
B、1 1000
C、1 30
D、3 1000

20、下面代码的输出结果是 x=10 y=4 print(x/y,x//y)
A、2.5 2.5
B、2 2.5
C、2 2
D、2.5 2

21、下面代码的输出结果是 x=10 y=3 print(divmod(x,y))
A、1,3
B、(3,1)
C、3,1
D、(1,3)

22、下面代码的输出结果是 a = 5 b = 6 c = 7 print(pow(b,2) –4*a*c)
A、系统报错
B、104
C、36
D、-104

23、下面代码的执行结果是 a = 10.99 print(complex(a))
A、0.99
B、(10.99+0j)
C、10.99
D、10.99+0j

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

25、下面代码的输出结果是>>> hex(255)
A、0eff
B、0off
C、0bff
D、0xff

26、下面代码的输出结果是>>> bin(10)
A、0d1010
B、0b1010
C、0o1010
D、0x1010

27、以下选项中,输出结果为False的是
A、>>> False !=0
B、>>> 5 is 5
C、>>> 5 != 4
D、>>> 5 is not 4

28、下面代码的输出结果是 a = 2 b = 2 c = 2.0 print(a == b, a is b, a is c)
A、True False False
B、True False True
C、True True False
D、False False True

29、下面代码的输出结果是 >>> a = b = c =123 >>> print(a,b,c)
A、出错
B、0 0 123
C、123 123 123
D、1 1 123

30、下面代码的输出结果是 x = 1 x *= 3+5**2 print(x)
A、14
B、28
C、13
D、29

31、下面代码的输出结果是 a = 5/3+5//3 print(a)
A、14
B、2.66666666666666
C、5.4
D、3.333333

第3单元 Python的输入输出

第3单元测验

1、利用print()格式化输出,能够控制浮点数的小数点后两位输出的是
A、{ :.2f}
B、{ .2}
C、{ .2f}
D、{ :.2}

2、下面代码的执行结果是 a = 123456789 b = "*" print("{ 0:{ 2}>{ 1},}\n{ 0:{ 2}^{ 1},}\n{ 0:{ 2}<{ 1},}".format(a,20,b))
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试题及答案

***

3、下面代码的输出结果是 a ="Python" b = "A Superlanguage" print("{ :->10}:{ :-<19}".format(a,b))
A、----Python:----A Superlanguage
B、----Python:A Superlanguage----
C、The python language is a multimodel language.
D、Python----:----A Superlanguage

4、以下程序的输出结果是: s1="袋鼠" print("生活在主要由母和小组成的较小的群体里。".format(s1))
A、TypeError:tuple index out of range.
B、袋鼠生活在主要由母袋鼠和小袋鼠组成的较小的群体里。
C、生活在主要由母和小组成的较小的群体里。
D、IndexError:tuple index out of range.

5、关于eval函数,以下选项中描述错误的是
A、执行“>>> eval("Hello")”和执行“>>> eval("'Hello'")”得到相同的结果
B、eval函数的定义为:eval(source, globals=None, locals=None, /)
C、如果用户希望输入一个数字,并用程序对这个数字进行计算,可以采用eval(input(<输入提示字符串>))组合
D、eval函数的作用是将输入的字符串转为Python语句,并执行该语句

6、给定一个数字123456,请采用宽度为25,右对齐的方式打印输出,并使用“+”填充。 print("{ :________}".format(123456))

7、给定一个数字12345678.9,请添加千分位分隔符号,设置宽度为30,右对齐方式打印输出,使用空格填充。 print("{ __________}".format(12345678.9))

8、给定一个整数数字0x1010,请依次输出Python语言中十六进制、十进制、八进制和二进制表示形式,使用英文逗号分隔。 print("0x{ 0:x},{ 0:},0o{ 0:o},_________".format(0x1010))

9、从键盘输入一个汉字,在屏幕上显示输出该汉字及unicode编码值,请完善代码。 s=input() print("\"{ }\"汉字的uncode编码:{ }".format(_________))

10、获得用户的输入当做宽度,以*作为填充符号,右对齐输出PYTHON字符串,请完善代码。 w=eval(input("请输入输出宽度:")) s="PYTHON" print("{ ____:*>}".format(w,s))

第4单元 程序控制结构

第4单元测验

1、关于Python的分支结构,以下选项中描述错误的是
A、Python中if-elif-else语句描述多分支结构
B、分支结构可以向已经执行过的语句部分跳转
C、Python中if-else语句用来形成二分支结构
D、分支结构使用if保留字

2、关于Python循环结构,以下选项中描述错误的是
A、每个continue语句只有能力跳出当前层次的循环
B、Python通过for、while等保留字提供遍历循环和无限循环结构
C、break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行
D、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等

3、关于Python循环结构,以下选项中描述错误的是
A、continue结束整个循环过程,不再判断循环的执行条件
B、Python通过for、while等保留字构建循环结构
C、continue用来结束当前当次语句,但不跳出当前的循环体
D、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等

4、下面代码的输出结果是 for s in "HelloWorld": if s=="W": continue print(s,end="")
A、HelloWorld
B、Helloorld
C、World
D、Hello

5、下面代码的输出结果是 for s in "HelloWorld": if s=="W": break print(s,end="")
A、HelloWorld
B、Helloorld
C、World
D、Hello

6、关于Python遍历循环,以下选项中描述错误的是
A、无限循环无法实现遍历循环的功能
B、遍历循环通过for实现
C、遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于所提取的每个元素只执行一次语句块
D、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等

7、关于Python的无限循环,以下选项中描述错误的是
A、无限循环也称为条件循环
B、无限循环通过while保留字构建
C、无限循环一直保持循环操作,直到循环条件不满足才结束
D、无限循环需要提前确定循环次数

8、给出如下代码: import random num = random.randint(1,10) while True: guess = input() i = int(guess) if i == num: print("你猜对了") break elif i < num: print("小了") elif i > num: print("大了") 以下选项中描述错误的是
A、“while True:”创建了一个永远执行的While循环
B、random.randint(1,10) 生成[1,10]之间的整数
C、“import random”这行代码是可以省略的
D、这段代码实现了简单的猜数字游戏

9、给出下面代码: age=23 start=2 if age%2!=0: start=1 for x in range(start,age+2,2): print(x) 上述程序输出值的个数是:
A、16
B、10
C、14
D、12

10、用来判断当前Python语句在分支结构中的是
A、大括号
B、引号
C、缩进
D、冒号

11、以下选项中描述正确的是
A、条件24<=28<25是合法的,且输出为True
B、条件35<=45<75是合法的,且输出为False
C、条件24<=28<25是不合法的
D、条件24<=28<25是合法的,且输出为False

12、关于while保留字,以下选项中描述正确的是
A、使用while能够实现循环计数
B、使用while必须提供循环次数
C、while True: 构成死循环,程序要禁止使用
D、所有while循环功能都可以用for循环替代

13、下面代码的输出结果是 for i in range(1,6): if i%3 == 0: break else: print(i,end =",")
A、1,2,3,4,5,6
B、1,2,
C、1,2,3,4,5,
D、1,2,3,

14、下面代码的输出结果是 sum = 0 for i in range(2,101): if i % 2 == 0: sum += i else: sum -= i print(sum)
A、-50
B、51
C、49
D、50

15、下面代码的输出结果是 sum=0 for i in range(0,100): if i%2==0: sum-=i else: sum+=i print(sum)
A、-50
B、-49
C、50
D、49

16、下面代码的输出结果是 for i in range(1,10,2): print(i,end=",")
A、1,4,7,
B、1,3,5,7,9,
C、1,4,
D、1,3,

17、下面代码的输出结果是 sum = 1 for i in range(1,101): sum += i print(sum)
A、5052
B、5049
C、5051
D、5050

18、下面代码的输出结果是 for n in range(100,200): i = n // 100 j = n // 10 % 10 k = n % 10 if n == i ** 3 + j ** 3 + k ** 3: print(n)
A、159
B、157
C、152
D、153

19、下面代码的输出结果是 s = 0 while(s<=1): print('计数:',s) s = s + 1
A、出错
B、计数:0 计数:1
C、计数:1
D、计数:0

20、给出下面代码: for i in range(1,10): for j in range(1,i+1): print("{ }*{ }={ }\t".format(j,i,i*j),end = '') print("") 以下选项中描述错误的是:
A、外层循环i用于控制一共打印9行
B、执行代码,输出九九乘法表
C、执行代码出错
D、也可使用While嵌套循环实现打印九九乘法表

21、s="9e10"是一个浮点数形式字符串,即包含小数点或采用科学计数法形式表示的字符串,编写程序判断s是否是浮点数形式字符串。如果是则输出True;否则输出False 。 s="9e10" if _____________==float: print(True) else: print(False)

22、s=123"是一个整数形式字符串,编写程序判断s是否是整数形式字符串。如果是则输出True;否则输出False 。要求代码不超过2行 s="123" print(True if ______________ else False)

23、while True:可以构成一个死循环。请编写程序,利用这个死循环完成如下功能,循环获得用户输入,直至用户输入字符y或Y为止,并退出程序。 while True: s=input() if _____________: break

24、请编写一个史上最佛系的程序,获得用户输入时无提示,获得用户输入后计算100除以输入值,结果运算正常就输错结果,并退出,永远不报错退出。 while True: try: n=input() print(_______________) except: ""

25、若某自然数除它本身之外的所有因子之和等于该数,则称该数为完数。输出1000以内的完数。请完善代码。 for i in range(2,1000): sum=0 for j in range(1,i): if __________: sum=sum+j if sum==i: print(i)

26、获得用户输入的一个字符串,统计中文字符的个数。基本中文字符的Unicode编码范围是0X4E00~0X9FA5(十六进制数),请完善代码。 s=input("请输入:") count=0 for ch in s: if _________________: count+=1 print(count)

第5单元 列表、元组与字符串

第5单元测验

1、对于序列s,能够返回序列s中第i到j以k为步长的元素子序列的表达是 代码语言 代码语言
A、s[i; j; k]
B、s(i, j, k)
C、s[i:j:k]
D、s[i, j, k]

2、设序列s,以下选项中对max(s)的描述正确的是
A、返回序列s的最大元素,但要求s中元素之间可比较
B、返回序列s的最大元素,如果有多个相同,则返回一个列表类型
C、返回序列s的最大元素,如果有多个相同,则返回一个列表类型
D、一定能够返回序列s的最大元素

3、元组变量t=("cat", "dog", "tiger", "human"),t[::–1]的结果是
A、['human', 'tiger', 'dog', 'cat']
B、运行出错
C、{ 'human', 'tiger', 'dog', 'cat'}
D、('human', 'tiger', 'dog', 'cat')

4、关于Python的元组类型,以下选项中描述错误的是
A、Python中元组采用逗号和圆括号来表示
B、一个元组可以作为另一个元组的元素,可以采用多级索引获取信息
C、元组中元素不可以是不同类型
D、元组一旦创建就不能被修改

5、关于Python的列表,以下选项中描述错误的是
A、Python列表是包含0个或者多个对象引用的有序序列
B、Python列表用中括号[]表示
C、Python列表的长度不可变
D、Python列表是一个可以修改数据项的序列类型

6、下面代码的输出结果是 s=["seashell","gold","pink","brown",urple","tomato"] print(s[1:4:2])
A、['gold', 'pink', 'brown']
B、['gold', 'pink', 'brown', 'purple', 'tomato']
C、['gold', 'pink']
D、['gold', 'brown']

7、下面代码的输出结果是 s=["seashell","gold","pink","brown","purple","tomato"] print(s[4:])
A、['purple']
B、['gold', 'pink', 'brown', 'purple', 'tomato']
C、['seashell', 'gold', 'pink', 'brown']
D、['purple', 'tomato']

8、下面代码的输出结果是 s=["seashell","gold","pink","brown","purple","tomato"] print(len(s),min(s),max(s))
A、6 brown tomato
B、5 purple tomato
C、5 pink brown
D、6 seashell gold

9、下面代码的输出结果是 vlist = list(range(5)) print(vlist)
A、0 1 2 3 4
B、0;1;2;3;4;
C、0,1,2,3,4,
D、[0, 1, 2, 3, 4]

10、下面代码的输出结果是 list1 = [] for i in range(1,11): list1.append(i**2) print(list1)
A、[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
B、----Python:----A Superlanguage
C、错误
D、[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

11、下面代码的输出结果是 list1 = [i*2 for i in 'Python'] print(list1)
A、[2, 4, 6, 8, 10, 12]
B、Python Python
C、错误
D、['PP', 'yy', 'tt', 'hh', 'oo', 'nn']

12、下面代码的输出结果是 list1 = [(m,n) for m in 'AB' for n in 'CD'] print(list1)
A、[('A', 'C'), ('A', 'D'), ('B', 'C'), ('B', 'D')]
B、[‘A’,’B’,’C’,’D’]
C、错误
D、['AC', 'AD', 'BC', 'BD']

13、下面代码的输出结果是 list1 = [(m,n) for m in 'ABC' for n in 'ABC' if m!=n] print(list1)
A、[('A', 'C'), ('A', 'D'), ('B', 'C'), ('B', 'D')]
B、[('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]
C、错误
D、['AC', 'AD', 'BC', 'BD']

14、下面代码的输出结果是 list1 = [1,2,3] list2 = [4,5,6] print(list1+list2)
A、[1,2,3]
B、[4,5,6]
C、[1, 2, 3, 4, 5, 6]
D、[5,7,9]

15、下面代码的输出结果是 li = ['alex','eric','rain'] s = "_".join(li) print(s)
A、alex_eric_rain_
B、alex_eric_rain_
C、alex_eric_rain
D、_alex_eric_rain

16、下面代码的输出结果是 li = ["hello",'se',[["m","n"],["h","kelly"],'all'],123,446] print(li[2][1][1])
A、n
B、m
C、kelly
D、h

17、下面代码的输出结果是 a = [1, 2, 3] for i in a[::-1]: print(i,end=",")
A、1,2,3
B、3,1,2
C、2,1,3
D、3,2,1,

18、下面代码的输出结果是 L = [1,2,3,4,5] s1 = ','.join(str(n) for n in L) print(s1)
A、1,2,3,4,5
B、1,,2,,3,,4,,5
C、[1,,2,,3,,4,,5]
D、[1,2,3,4,5]

19、下面代码的输出结果是 a = [9,6,4,5] N = len(a) for i in range(int(len(a) / 2)): a[i],a[N-i-1] = a[N-i-1],a[i] print(a)
A、[4,5,6,9]
B、[9,6,5,4]
C、[5, 4, 6, 9]
D、[9,6,5,4]

20、下面代码的输出结果是 a = [1,3] b = [2,4] a.extend(b) print(a)
A、[1 ,2 ,3 ,4]
B、[4 ,3 ,2 ,1]
C、[4 ,2 ,3 ,1]
D、[1, 3, 2, 4]

21、给出如下代码 TempStr ="Hello World" 可以输出“World”子串的是
A、print(TempStr[–4: –1])
B、print(TempStr[–5:])
C、print(TempStr[–5:0])
D、print(TempStr[–5: –1])

22、给出如下代码 s = 'Python is beautiful!' 可以输出“python”的是
A、print(s[:–14])
B、print(s[0:7])
C、print(s[–21: –14].lower)
D、print(s[0:7].lower())

23、给出如下代码 s = 'Python is Open Source!' print(s[0:].upper()) 上述代码的输出结果是
A、PYTHON IS OPEN SOURCE
B、PYTHON IS OPEN SOURCE!
C、Python is Open Source!
D、PYTHON

24、给出如下代码 s = "Alice" print(s[::–1])上述代码的输出结果是
A、ecilA
B、ALICE
C、Alic
D、Alice

25、给出如下代码s= "abcdefghijklmn" print(s[1:10:3])上述代码的输出结果是
A、behk
B、beh
C、adg
D、adgj

26、下面代码的输出结果是 s1 = "The python language is a scripting language." s2 = s1.replace('scripting','general') print(s2)
A、系统报错
B、The python language is a scripting language.
C、['The', 'python', 'language', 'is', 'a', 'scripting', 'language.']
D、The python language is a general language.

27、下面代码的输出结果是 a = "alex" b = a.capitalize() print(a,end=",") print(b)
A、ALEX,alex
B、alex,Alex
C、alex,ALEX
D、Alex,Alex

28、下面代码的输出结果是 a = "ac" b = "bd" c = a + b print(c)
A、dbac
B、acbd
C、bdac
D、abcd

29、下面代码的输出结果是 str1 = "mysqlsqlserverPostgresQL" str2 = "sql" ncount = str1.count(str2) print(ncount)
A、5
B、3
C、4
D、2

30、下面代码的输出结果是 str1 = "mysqlsqlserverPostgresQL" str2 = "sql" ncount = str1.count(str2,10) print(ncount)
A、0
B、3
C、4
D、2

31、下面代码的输出结果是 for a in ["torch","soap","bath"]: print(a)
A、torch,soap,bath
B、torch soap bath
C、torch,soap,bath,
D、torch soap bath

32、获得用户输入的一个字符串,请输出其全小写形式。 s=input() print(________)

33、获得用户输入的一个字符串,输出其中字母'a'的出现次数。 s=input() print(s._______('a'))

34、获得用户输入的一个字符串,替换其中出现的字符串"py"为"python”,输出替换后的字符串。 s=input() print(s.___________('py','python'))

35、请补充横线处的代码,listA中存放了已点的餐单,让Python帮你增加一个“chicken”,去掉一个“juice”。 listA = ['tomato','juice','cake','hot dog','egg'] listA.append("chicken") listA.________ ("juice") print(listA)

36、ls 是一个列表,内容如下: ls = [123, "456", 789, "123", 456, "789"] 请补充如下代码,求其各整数元素的和: ls = [123, "456", 789, "123", 456, "789"] s = 0 for item in ls: if ___________ == type(123): s += item print(s)

37、ls 是一个列表,内容如下: ls = [123, "456", 789, "123", 456, "789"] 请补充如下代码,在 789 后增加一个元素 "012"。 ls = [123, "456", 789, "123", 456, "789"] ls.insert(_______,"012")

38、ls 是一个列表,内容如下: ls = [123, "456", 789, "123", 456, "789"] 请补充如下代码,使用 remove() 方法,采用一行语句,删除元素 789 ls = [123, "456", 789, "123", 456, "789"] ____________

39、ls 是一个列表,内容如下: ls = [123, "456", 789, "123", 456, "789"] 请补充如下代码,将列表 ls 逆序打印 ls = [123, "456", 789, "123", 456, "789"] print(____________)

40、ls 是一个列表,内容如下: ls = [123, "456", 789, "123", 456, "789"] 请补充如下代码,将列表 ls 中第一次出现 789 位置的序号打印出来。注意,不要直接输出序号,采用列表操作方法 ls = [123, "456", 789, "123", 456, "789"] print(ls.______(789))

41、获得用户输入的一个字符串,去除字符串两侧出现的a~z共26个小写字母,并打印输出结果。完善代码。 s=input("请输入一个字符串") print(s.________("abcdefghijklmnopqrstuvwxyz"))

42、获得用户输入的一个中文字符串,将所有中文字符替换为其Unicode编码值小3的字符,并在一行内打印输出结果。完善代码。 s=input("请输入一个中文字符串") for ch in s: print(chr(_____________),end="")

43、获得用户输入的一个字符串,将字符串循环左移1位输出。完善代码。 s=input("请输入一个字符串:") print(s[1:]+____)

44、获得用户输入的一个字符串,将字符串逆序输出。完善程序。 s=input("请输入一个字符串:") print(_____________)

45、补充如下代码,计算向量a与向量b的乘积,即对应元素乘法的累加和,并将结果输出。 a=[11,22,33,44,55,66,77,88,99] b=[33,66,99,22,55,88,11,44,77] s=0 for i in range(9): s=s+________ print(s)

第6单元 集合与字典

第6单元测验

1、字典d={ 'abc':123, 'def':456, 'ghi':789},len(d)的结果是
A、6
B、12
C、9
D、3

2、S和T是两个集合,对S&T的描述正确的是
A、S和T的差运算,包括在集合S但不在T中的元素
B、S和T的补运算,包括集合S和T中的非相同元素
C、S和T的交运算,包括同时在集合S和T中的元素
D、S和T的交运算,包括同时在集合S和T中的元素

3、S和T是两个集合,对S|T的描述正确的是
A、S和T的差运算,包括在集合S但不在T中的元素
B、S和T的补运算,包括集合S和T中的非相同元素
C、S和T的交运算,包括同时在集合S和T中的元素
D、S和T的并运算,包括在集合S和T中的所有元素

4、以下选项中不能生成一个空字典的是
A、dict()
B、{ []}
C、dict([])
D、{ }

5、给定字典d,以下选项中对d.keys()的描述正确的是
A、返回一个列表类型,包括字典d中所有键
B、返回一个集合类型,包括字典d中所有键
C、返回一个元组类型,包括字典d中所有键
D、返回一种dict_keys类型,包括字典d中所有键

6、给定字典d,以下选项中对d.values()的描述正确的是
A、返回一个列表类型,包括字典d中所有值
B、返回一个集合类型,包括字典d中所有值
C、返回一个元组类型,包括字典d中所有值
D、返回一种dict_values类型,包括字典d中所有值

7、给定字典d,以下选项中对d.items()的描述正确的是
A、返回一个列表类型,每个元素是一个二元元组,包括字典d中所有键值对
B、返回一个集合类型,每个元素是一个二元元组,包括字典d中所有键值对
C、返回一个元组类型,每个元素是一个二元元组,包括字典d中所有键值对
D、返回一种dict_items类型,包括字典d中所有键值对

8、给定字典d,以下选项中对d.get(x, y)的描述正确的是
A、返回字典d中键为x的键,如果不存在,则返回y
B、返回字典d中值为y的值,如果不存在,则返回x
C、返回字典d中键为x的值,如果不存在,则返回y
D、返回字典d中键值对为x:y的值

9、给定字典d,以下选项中对x in d的描述正确的是
A、判断x是否是字典d中的键
B、判断x是否是在字典d中以键或值方式存在
C、判断x是否是字典d中的值
D、x是一个二元元组,判断x是否是字典d中的键值对

10、给定字典d,以下选项中可以清空该字典并保留变量的是
A、d.pop()
B、del d
C、d.clear()
D、d.remove()

11、关于Python字典,以下选项中描述错误的是
A、Python语言通过字典实现映射
B、如果想保持一个集合中元素的顺序,可以使用字典类型
C、字典中对某个键值的修改可以通过字典的访问和赋值实现
D、Python字典是包含0个或多个键值对的集合,没有长度限制,可以根据键索引值的内容

12、给出如下代码: DictColor = { "seashell":"海贝色","gold":"金色","pink":"粉红色","brown":"棕色","purple":"紫","tomato":"西红柿色"} 以下选项中能输出“海贝色”的是
A、print(DictColor.keys())
B、print(DictColor.values())
C、print(DictColor["海贝色"])
D、print(DictColor["seashell"])

13、下面代码的输出结果是 str1="k:1|k1:2|k2:3|k3:4" str_list=str1.split('|') d={ } for i in str_list: key,value=i.split(':') d[key]=value print(d)
A、{ 'k': '1', 'k1': '2', 'k2': '3', 'k3': '4'}
B、{ k:1,k1:2,k2:3,k3:4}
C、{ k: '1', k1: '2', k2: '3', k3: '4'}
D、{ 'k': 1, 'k1': 2, 'k2': 3, 'k3': 4}

14、下面代码的输出结果是 i = ['a','b','c'] l = [1,2,3] b = dict(zip(i,l)) print(b)
A、{ 1: 'a', 2: 'd', 3: 'c'}
B、不确定
C、报出异常
D、{ 'a': 1, 'b': 2, 'c': 3}

15、下面代码的输出结果是 >>> s = { } >>> type(s)
A、<class 'set'>
B、<class 'tuple'>
C、<class 'list'>
D、<class 'dict'>

16、下面代码的输出结果是 >>> s = set() >>> type(s)
A、<class 'set'>
B、<class 'tuple'>
C、<class 'list'>
D、<class 'dict'>

17、请补充横线处的代码。dictMenu中存放了你的双人下午套餐(包括咖啡2份和点心2份)的价格,让Python帮忙计算并输出消费总额。 d= { 'cappuccino':32,'mocha':30,'mathca cake':28,'brownie':26} sum=0 for i in ____________: sum += i print(sum)

18、d 是一个字典,内容如下: d = { 123:"123", 456:"456", 789:"789"} 请补充如下代码,将字典 d 中所有值以列表形式输出 d = { 123:"123", 456:"456", 789:"789"} print(list(________))

19、d 是一字典,内容如下: d = { 123:"123", 456:"456", 789:"789"} 请补充如下代码,将字典 d 中所有键以列表形式输出 d = { 123:"123", 456:"456", 789:"789"} print(list(_________))

20、输出字典fruits中键值最大的键值对,完善代码。 fruits={ "apple":10,"mango":12,"durian":20,"banana":5} m="apple" for key in fruits.keys(): if __________: m=key print("{ }:{ }".format(m,fruits[m]))

21、求出一组数:1080,750,1080,750,1080,850,960,2000,1250,1630,1080,1800,1080,2100,1080,1450,2500,560,1080,560中的众数及出现频率。众数指出现次数最多的数。完善代码。 ls=[1080,750,1080,750,1080,850,960,2000,1250,1630,1080,1800,1080,2100,1080,1450,2500,560,1080,560] counts={ } for num in ls: counts[num]=__________________ items=list(counts.items()) items.sort(key=lambda x:x[1],reverse=True) num,count=items[0] print("众数为{ },出现频率为{ }。".format(num,count))

22、列表ls中存储了我国39所985高校所对应的学校类型。请以这个列表未数据变量,完善代码,统计输出各类型的数量。 ls = ["综合", "理工", "综合", "综合", "综合", "综合", "综合", "综合", "综合", "综合",\ "师范", "理工", "综合", "理工", "综合", "综合", "综合", "综合", "综合","理工",\ "理工", "理工", "理工", "师范", "综合", "农林", "理工", "综合", "理工", "理工",\ "理工", "综合", "理工", "综合", "综合", "理工", "农林", "民族", "军事"] d = { } for word in ls: d[word] = d.get(word,0)+1 for k in d: print("{ }:{ }".format(_________)

第8单元 文件操作

第8单元测验

1、关于Python对文件的处理,以下选项中描述错误的是
A、文件使用结束后要用close()方法关闭,释放文件的使用授权
B、Python能够以文本和二进制两种方式处理文件
C、当文件以文本方式打开时,读写按照字节流方式
D、Python通过解释器内置的open()函数打开一个文件

2、以下选项中,不是Python对文件的读操作方法的是
A、readtext
B、read
C、readlines
D、readline

3、以下选项中,不是Python对文件的打开模式的是
A、c
B、r
C、w+
D、w

4、给出如下代码: fname = input("请输入要打开的文件: ") fi = open(fname, "r") for line in fi.readlines(): print(line) fi.close() 以下选项中描述错误的是
A、上述代码中fi.readlines()可以优化为fi
B、用户输入文件路径,以文本文件方式读入文件内容并逐行打印
C、通过fi.readlines()方法将文件的全部内容读入一个列表
D、通过fi.readlines()方法将文件的全部内容读入一个字典

5、执行如下代码: fname = input("请输入要写入的文件: ") fo = open(fname, "w+") ls = ["清明时节雨纷纷,","路上行人欲断魂,","借问酒家何处有?","牧童遥指杏花村。"] fo.writelines(ls) fo.seek(0,0) for line in fo: print(line) fo.close() 以下选项中描述错误的是
A、代码主要功能为向文件写入一个列表类型,并打印输出结果
B、执行代码时,从键盘输入“清明.txt”,则清明.txt被创建
C、fo.seek(0,0)这行代码可以省略,不影响输出效果
D、fo.writelines(ls)将元素全为字符串的ls列表写入文件

6、关于CSV文件的描述,以下选项中错误的是
A、整个CSV文件是一个二维数据
B、CSV文件格式是一种通用的、相对简单的文件格式,应用于程序之间转移表格数据
C、CSV文件通过多种编码表示字符
D、CSV文件的每一行是一维数据,可以使用Python中的列表类型表示

7、关于Python文件的 '+' 打开模式,以下选项中描述正确的是
A、与r/w/a/x一同使用,在原功能基础上增加同时读写功能
B、只读模式
C、追加写模式
D、覆盖写模式

8、给定一维数据列表ls = { 1, 2, 3, "1", "2", "3"},其元素包含两种数据类型,则ls的数据组织维度是
A、高维数据
B、一维数据
C、多维数据
D、二维数据

9、以下选项中,不是Python中文件操作的相关函数是
A、write()
B、open()
C、read()
D、load()

10、以下选项中,不是Python中文件操作的相关函数是
A、writeline()
B、write()
C、readlines()
D、open()

11、以下选项中,不是Python文件打开的合法模式组合是
A、"+"
B、"r"
C、"a"
D、"w"

12、以下选项中,对CSV格式的描述正确的是
A、CSV文件以英文特殊符号分隔元素
B、CSV文件以英文逗号分隔元素
C、CSV文件以英文分号分隔元素
D、CSV文件以英文空格分隔元素

13、表达式",".join(ls)中ls是列表类型,以下选项中对其功能的描述正确的是
A、将逗号字符串增加到列表ls中
B、在列表ls每个元素后增加一个逗号
C、将列表所有元素连接成一个字符串,元素之间增加一个逗号
D、将列表所有元素连接成一个字符串,每个元素后增加一个逗号

14、二维列表ls=[[1,2,3], [4,5,6],[7,8,9]],以下选项中能获取其中元素5的是
A、ls[–2][–1]
B、ls[1][1]
C、ls[–1][–1]
D、ls[4]

15、二维列表ls=[[1,2,3], [4,5,6],[7,8,9]],以下选项中能获取其中元素9的是
A、ls[–2][–1]
B、ls[0][–1]
C、ls[–1][–1]
D、ls[–1]

16、以下文件操作方法中,不能从CSV格式文件中读取数据的是
A、read()
B、seek()
C、readlines()
D、readline()

17、以下文件操作方法中,不能向CSV格式文件写入数据的是
A、seek()和write()
B、write()
C、writeline()
D、writelines()

18、表达式writelines(lines)能够将一个元素是字符串的列表lines写入文件,以下选项中描述正确的是
A、列表lines中各元素之间无分隔符
B、列表lines中各元素之间默认采用空格分隔
C、列表lines中各元素之间默认采用换行分隔
D、列表lines中各元素之间默认采用逗号分隔

19、关于下面代码中的变量x,以下选项中描述正确的是 fo = open(fname, "r") for x in fo: print(x) fo.close()
A、变量x表示文件中的一组字符
B、变量x表示文件中的一个字符
C、变量x表示文件中的全体字符
D、变量x表示文件中的一行字符

20、以下选项对应的方法可以用于从CSV文件中解析一二维数据的是
A、exists()
B、split()
C、format()
D、join()

21、以下选项对应的方法可以用于向CSV文件写入一二维数据的是
A、exists()
B、split()
C、strip()
D、join()

22、对于特别大的数据文件,以下选项中描述正确的是
A、Python无法处理特别大的数据文件
B、选择内存大的计算机,一次性读入再进行操作
C、Python可以处理特别大的文件,不用特别关心
D、使用for .. in..循环,分行读入,逐行处理

23、当打开一个不存在的文件时,以下选项中描述正确的是
A、文件不存在则创建文件
B、一定会报错
C、不存在文件无法被打开
D、根据打开类型不同,可能不报错

24、《笑傲江湖》是金庸的重要武侠作品之一。这里给出一个《笑傲江湖》的网络版本,文件名为“笑傲江湖-网络版.txt”。 请完善程序,统计该文件中出现的所有中文字符及标点符号的数量,每个字符及数量之间用冒号:分隔,例如“笑:1024”,将所有字符及数量的对应采用逗号分隔,以CSV文件格式保存到“笑傲江湖-字符统计.txt”文件中。注意,统计字符不包括空格和回车。 f1=open("d:\\笑傲江湖-网络版.txt","r",encoding="utf-8") f2=open("d:\\笑傲江湖-字符统计.txt","w",encoding="utf-8") txt=f1.read() d={ } for ch in txt: d[ch]=d.get(ch,0)+1 del d["\n"] del d[" "] ls=[] for k in d: ls.append("{ }:{ }".format(k,d[k])) f2.write(___________________) f1.close() f2.close()

25、使用字典和列表型变量完成某课程的考勤记录统计。某班有74名同学,名单由考生目录下的Name.txt给出,某课程第一次考勤数据由考生目录下文件1.csv给出。请求出第一次缺勤同学的名单,完善代码。 f1=open("d:\\1.csv","r",encoding="utf-8") f2=open("d:\\Name.txt","r",encoding="utf-8") f1R=f1.readlines() #读取出勤人员名单 ls=[] for line in f1R: line=line.replace("\n","") ls.extend(line.split(",")) print(ls) lsAll=[] f2R=f2.readlines() #读取所有同学名单 for line in f2R: line=line.replace("\n","") lsAll.append(line) print(lsAll) for i in ls: #遍历出勤人员名单列表ls if i in lsAll: #若该人员出现在所有人员名单列表lsAll中 lsAll.____________ #从列表lsAll中删除出现在列表ls中的姓名,剩余的lsAll就是缺勤人员名单 print("第一次缺勤同学有:",end="") for i in lsAll: print(i,end=" ") f1.close() f2.close()

26、从键盘输入一些字符,逐个把它们写到指定的文件,直到输入一个@为止,请完善代码。 例如: 请输入文件名: out.txt 请输入字符串: Python is open.@ 执行代码后,out.txt文件内容为: Python is open. 参考程序代码如下: filename=input("请输入文件名:") f=open(filename,"w") ch=input("请输入字符串:\n") while True: if '@' in ch: #若当前输入行包含@字符 i=ch.find('@') #获取@字符的下标i s=ch[0:i] #获取当前行中,@符号之前的字符串s ____________ #将字符串s写入文件f break else: f.write(ch+" ") #否则,将当前行字符串,加上空格后,写入文件f ch=input() f.close()

27、下面是一个传感器采集数据文件sensor.txt的一部分: 2018-02-28 01:03:16 19 38 45 2.6 2018-02-28 01:06:16 18 35 46 2.5 2018-02-28 01:09:16 17 33 49 2.1 ...... 其中,每行是一个读数,空格分隔多个数据项,分别包括日期、时间、温度、湿度、光照、电压,其中温度处于第3列,列号为2。 完善程序,统计并输出传感器采集数据中温度部分的平均值,保留小数点后2位。 f=open("d:\\sensor.txt","r") ls=[] for line in f: ls.append(line.split(" ")) sum=0 for row in ls: sum=sum+_________________ #对温度值求和,注意处理成数值型 print("平均温度值是{ :.2f}".format(sum/len(ls))) f.close()

28、《孙子兵法》是我国军事学的重要历史名著,现有"孙子兵法-网络版.txt",对该文件进行清洗,去掉所有带有“ 作者”二字的行;去掉带有形如“【***】”的注释行,在正文中去掉①②③等注释标注,将清洗后的文件输出为"孙子兵法-清洗版.txt"。 f1=open("d:\\孙子兵法-网络版.txt","r",encoding="utf-8") f2=open("d:\\孙子兵法-清洗版.txt","w",encoding="utf-8") for line in f1: if "作者" in line: continue if "【" in line : continue for c in "①②③": line.replace(c,"") f2._____________ #将当前行的字符串,写入文件f2 f1.close() f2.close()

第7单元 函数与模块

第7单元测验

1、给出如下代码: def func(a,b): c=a**2+b b=a return c a=10 b=100 c=func(a,b)+a 以下选项中描述错误的是
A、该函数名称为func
B、执行该函数后,变量a的值为10
C、执行该函数后,变量b的值为100
D、执行该函数后,变量c的值为200

2、在Python中,关于全局变量和局部变量,以下选项中描述不正确的是
A、全局变量一般没有缩进
B、全局变量不能和局部变量重名
C、全局变量在程序执行的全过程有效
D、一个程序中的变量包含两类:局部变量和全局变量

3、下面代码的输出结果是 >>>f=lambda x,y:y+x >>>f(10,10)
A、20
B、100
C、10,10
D、10

4、关于形参和实参的描述,以下选项中正确的是
A、参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参
B、程序在调用时,将形参复制给函数的实参
C、程序在调用时,将实参复制给函数的形参
D、函数定义中参数列表里面的参数是实际参数,简称实参

5、关于函数的参数,以下选项中描述错误的是
A、在定义函数时,可以设计可变数量参数,通过在参数前增加星号(*)实现
B、一个元组可以传递给带有星号的可变参数
C、可选参数可以定义在非可选参数的前面
D、在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认值

6、关于return语句,以下选项中描述正确的是
A、函数必须有一个return语句
B、函数可以没有return语句
C、return只能返回一个值
D、函数中最多只有一个return语句

7、关于Python的全局变量和局部变量,以下选项中描述错误的是
A、局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用
B、简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放
C、使用global保留字声明简单数据类型变量后,该变量作为全局变量使用
D、全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效

8、给出如下代码: def fact(n): s = 1 for i in range(1,n+1): s *= i return s 以下选项中描述错误的是
A、fact(n)函数功能为求n的阶乘
B、range()函数是Python内置函数
C、s是局部变量
D、代码中n是可选参数

9、给出如下代码: ls = ["car","truck"] def funC(a): ls.append(a) return funC("bus") print(ls) 以下选项中描述错误的是
A、执行代码输出结果为['car', 'truck']
B、funC(a)中的a为非可选参数
C、ls.append(a) 代码中的ls是列表类型
D、ls.append(a) 代码中的ls是全局变量

10、给出如下代码: ls = ["car","truck"] def funC(a): ls =[] ls.append(a) return funC("bus") print(ls) 以下选项中描述错误的是
A、执行代码输出结果为['car', 'truck']
B、执行代码输出结果为['car', 'truck', 'bus']
C、ls.append(a) 代码中的ls是列表类型
D、代码函数定义中,ls.append(a)中的ls是局部变量

11、下面代码的输出结果是 def func(a,b): a *= b return a s = func(5,2) print(s)
A、10
B、12
C、1
D、20

12、下面代码的输出结果是 def fib(n): a,b = 1,1 for i in range(n-1): a,b = b,a+b return a print (fib(7))
A、8
B、21
C、13
D、5

13、下面代码的输出结果是 def hello_world(): print('ST',end="*") def three_hellos(): for i in range(3): hello_world() three_hellos()
A、ST*ST*
B、***
C、ST*
D、ST*ST*ST*

14、下面代码的输出结果是 def exchange(a,b): a,b = b,a return (a,b) x = 10 y = 20 x,y = exchange(x,y) print(x,y)
A、20,10
B、20 20
C、10 10
D、20 10

15、关于函数的返回值,以下选项中描述错误的是
A、函数必须有返回值
B、return可以传递0个返回值,也可以传递任意多个返回值
C、函数可以有return,也可以没有
D、函数可以返回0个或多个结果

16、关于函数局部变量和全局变量的使用规则,以下选项中描述错误的是
A、可以通过global保留字在函数内部声明全局变量
B、return不可以传递任意多个函数局部变量返回值
C、对于组合数据类型的变量,如果局部变量未真实创建,则是全局变量
D、对于基本数据类型的变量,无论是否重名,局部变量与全局变量不同

17、关于函数的目的与意义,以下选项中描述错误的是
A、函数能调用未实现的函数
B、有助于采用分而治之的策略编写大型复杂程序
C、使用时无须了解函数内部实现细节
D、程序功能抽象,以支持代码重用

18、下面代码的执行结果是 def greeting(args1, *tupleArgs, **dictArgs): print(args1) print(tupleArgs) print(dictArgs) names = ['HTY', 'LFF', 'ZH'] info = { 'schoolName' : 'NJRU', 'City' : 'Nanjing'} greeting('Hello,', *names, **info)
A、无输出
B、Hello, ('HTY', 'LFF', 'ZH') { 'schoolName': 'NJRU', 'City': 'Nanjing'}
C、['HTY', 'LFF', 'ZH']
D、出错

19、下面代码实现的功能描述为 def fact(n): if n==0: return 1 else: return n*fact(n-1) num =eval(input("请输入一个整数:")) print(fact(abs(int(num))))
A、接受用户输入的整数N,判断N是否是素数并输出结论
B、接受用户输入的整数N,判断N是否是水仙花数
C、接受用户输入的整数N,判断N是否是完数并输出结论
D、接受用户输入的整数N,输出N的阶乘值

20、关于Python的lambda函数,以下选项中描述错误的是
A、可以使用lambda函数定义列表的排序原则
B、lambda函数将函数名作为函数结果返回
C、f = lambda x,y:x+y 执行后,f的类型为数字类型
D、lambda用于定义简单的、能够在一行内表示的函数

21、如下函数返回两个数的平方和,请补充横线处代码 def psum(a,b): ______ a**2 + b**2

22、如下函数返回两个数的平方和,如果只给一个变量,则另一个变量的默认值为整数10,请补充横线处代码。 def psum(__________): return a**2 + b**2

23、如下函数同时返回两个数的平方和以及两个数的和,请补充横线处代码。 def psum(a,b): ___________

24、如下函数返回两个数的平方和与n的乘积,此处n使用的是全局变量,请补充横线处代码。 n = 2 def psum(a,b): _____________ return (a**2 + b**2)*n

25、从键盘输入两个数,换行,调用函数gcd()输出两个数的最大公约数显示在屏幕上,完善代码。采用辗转相除法计算最大公约数。 def gcd(x,y): if x<y: x,y=y,x while (x%y)!=0: ___________ x=y y=r return y a=eval(input()) b=eval(input()) n=gcd(a,b) print("{ }与{ }的最大公约数是{ }。".format(a,b,gcd(a,b)))

26、从键盘输入一个列表,计算输出列表元素的平均值。完善代码。 def mean(numlist): s=0 for num in numlist: s=s+num return s/______________ ls=eval(input()) print("平均值为:{ }".format(mean(ls)))

27、输入一个自然数n,如果n为奇数,输出表达式1+1/3+...+1/n的值;如果n为偶数,输出表达式1/2+1/4+...+1/n的值;输出表达式结果,并保留2位小数。请完善代码。 def f(n): sum=0 if ____________: for i in range(1,n+1,2): sum+=1/i else: for i in range(2,n+1,2): sum+=1/i return sum n=int(input()) print(f(n))

第9单元 Python与绘图

第9单元测验

1、关于turtle库中的setup()函数,以下选项中描述错误的是
A、turtle.setup()函数的作用是设置画笔的尺寸
B、执行下面代码,可以获得一个宽为屏幕50%,高为屏幕75%的主窗口 import turtle turtle.setup(0.5,0.75)
C、turtle.setup()函数的定义为turtle.setup(width,height,startx,starty)
D、turtle.setup()函数的作用是设置主窗体的大小和位置

2、关于turtle库的形状绘制函数,以下选项中描述错误的是
A、执行如下代码,绘制得到一个角度为120度,半径为180的弧形 import turtle turtle.circle(120,180)
B、turtle.fd(distance)函数的作用是向小海龟当前行进方向前进distance距离
C、turtle.circle()函数的定义为turtle.circle(radius, extent=None, steps=None)
D、turtle.seth(to_angle)函数的作用是设置小海龟当前行进方向为to_angle,to_angle是角度的整数值

3、执行如下代码: import turtle turtle.circle(100) turtle.circle(50,180) turtle.circle(-50,180) turtle.penup() turtle.goto(0,140) turtle.pendown() turtle.circle(10) turtle.penup() turtle.goto(0,40) turtle.pendown() turtle.circle(10) turtle.done() 在Python Turtle Graphics中,绘制的是
A、笛卡尔心形
B、太极图
C、同心圆
D、同切圆

4、执行如下代码: import turtle as t t.circle(40) t.circle(60) t.circle(80) t.done() 在Python Turtle Graphics中,绘制的是
A、笛卡尔心形
B、太极图
C、同心圆
D、同切圆

5、执行如下代码: import turtle as t def DrwaCctCircle(n): t.penup() t.goto(0,-n) t.pendown() t.circle(n) for i in range(20,80,20): DrwaCctCircle(i) t.done() 在Python Turtle Graphics中,绘制的是
A、笛卡尔心形
B、太极图
C、同心圆
D、同切圆

6、执行如下代码: import turtle t = turtle.Pen() t.reset() for i in range(1,5): t.fd(50) t.left(90) 在Python Turtle Graphics中,绘制的是
A、五角星
B、正方形
C、三角形
D、五边形

7、random库的seed(a)函数的作用是
A、生成一个k比特长度的随机整数
B、生成一个[0.0, 1.0)之间的随机小数
C、生成一个随机整数
D、设置初始化随机数种子a

8、random库的random.randrange(start, stop[, step])函数的作用是
A、列将序列类型中元素随机排列,返回打乱后的序
B、生成一个[start, stop)之间的随机小数
C、生成一个[start, stop)之间以step为步数的随机整数
D、从序列类型(例如列表)中随机返回一个元素

9、random.uniform(a, b)的作用是
A、生成一个[0.0, 1.0)之间的随机小数
B、生成一个[a, b]之间的随机小数
C、生成一个[a,b]之间的随机整数
D、生成一个[a, b)之间以1为步数的随机整数

10、生成一个[0.0, 1.0)之间的随机小数的函数是
A、random.uniform(0.0, 1.0)
B、random.randint(0.0, 1.0)
C、random.randrange(0.0, 1.0)
D、random.random()

11、生成一个[10,99]之间的随机整数的函数是
A、random.uniform(10,99)
B、random.randint(10, 99)
C、random.randrange(10, 99,2)
D、random.random()

12、使用 turtle 库绘制轮廓颜色为红色(red)、填充颜色为粉红色(pink)的心形图形,效果如下图所示。阅读程序框架,补充横线处代码。 from turtle import * color('red', 'pink') ____________ left(135) fd(100) right(180) circle(50, –180) left(90) circle(50, –180) right(180) fd(100) end_fill() hideturtle() done()

13、使用 turtle 库绘制红色五角星图形,效果如下图所示。阅读程序框架,补充横线处代码。 from turtle import * setup(400,400) penup() goto(–100,50) pendown() color("red") begin_fill() for i in range(5): forward(200) _____________ end_fill() hideturtle() done()

14、使用 turtle 库绘制正方形螺旋线,效果如下图所示。阅读程序框架,补充横线处代码。 import turtle n = 10 for i in range(1,10,1): for j in [90,180,270,360]: turtle.seth (j) turtle.fd(_______) n += 5

15、使用turtle库绘制如下图形: import turtle turtle.setup(800,300) turtle.penup() turtle.fd(–350) turtle.pendown() def DrawLine(size): for angle in [0,90,–90,–90,90]: turtle.left(angle) turtle.fd(size) for i in [20,30,40,50,40,30,20]: ______________ turtle.hideturtle() turtle.done()

16、使用 turtle 库绘制同心圆图形,效果如下图所示。阅读程序框架,补充横线处代码。 import turtle as t def DrawCctCircle(n): t.penup() t.goto(0,–n) t.pendown() ___________ for i in range(20,100,20): DrawCctCircle(i) t.hideturtle() t.done()

17、使用 turtle 库绘制叠加等边三角形,效果如下图所示。阅读程序框架,补充横线处代码。 import turtle turtle.pensize(2) # 设置画笔宽度为2像素 turtle.color('red') _________________ # 向小海龟当前行进方向前进160像素 turtle.seth(120) turtle.fd(160) turtle.seth(–120) turtle.fd(160) turtle.penup() turtle.seth(0) turtle.fd(80) turtle.pendown() turtle.seth(60) turtle.fd(80) turtle.seth(180) turtle.fd(80) turtle.seth(–60) turtle.fd(80) turtle.hideturtle() turtle.done()

18、使用 turtle 库绘制八角星形,效果如下图所示。阅读程序框架,补充横线处代码。 import turtle as t t.colormode(255) t.color(______________) #设置颜色取值为金色(255,215,0) t.begin_fill() for x in range(8): #绘制8条线 t.forward(200) t.left(225) t.end_fill() t.hideturtle() t.done()

19、使用 turtle 库绘制5种多边形,效果如下图所示。阅读程序框架,补充横线处代码。 from turtle import * for i in range(5): penup() #画笔抬起 goto(-200+100*i,-50)() pendown() ___________(40,steps=3+i) #画某个形状 done()

20、使用 turtle 库绘制树图形,效果如下图所示。阅读程序框架,补充横线处代码。 import turtle as t def tree(length,_________): #树的层次 if level <= 0: return t.forward(length) #前进方向画 length距离 t.left(45) tree(0.6*length,level–1) t.right(90) tree(0.6*length,level–1) t.left(45) t.backward(length) return t.pensize(3) t.color('green') t.left(90) tree(100,6)

21、绘制如图所示的花形图形。假设花瓣圆弧半径为50像素。 import turtle as t for i in range(4): t.right(90) t.circle(__________)

22、绘制如下图的星形图形,假设花瓣半径100像素,效果如下图所示: import turtle as t for i in range(4): t.circle(100,90) t.right(______)

23、绘制图形,最小的圆圈半径为20像素,不同圆圈之间的半径差20像素。效果如下图,完善代码。 import turtle r=20 head=90 for i in range(3): turtle.seth(head) turtle.circle(r) r=r+20 r=20 head=__________ for i in range(3): turtle.seth(head) turtle.circle(r) r=r+20 turtle.done

24、绘制螺旋状正方形,边长从1像素开始,从0°方向开始,效果如下图: import turtle d=0 k=1 for j in range(10): for i in range(4): _____________ d+=91 turtle.seth(d) k+=4 turtle.done()

25、绘制嵌套五边形,边长从1像素开始,从0°方向开始;边长按照3个像素递增,效果如下图,完善代码。 import turtle d=0 k=1 for j in range(10): for i in range(5): turtle.fd(k) __________ turtle.seth(d) k=k+3 turtle.done()

26、编写程序随机产生20个长度不超过3位的数字,让其首尾相连以字符串的形式输出,随机数种子为17。完善代码。 import random random.seed(17) s="" for i in range(20): s=s+str(random.___________(0,999)) print(s)

27、随机选择一个饮品,完善代码。 import random ls=['加多宝','雪碧','可乐','椰子汁','果粒橙'] print(random._________)

第10单元 Python与中文字词处理

第10单元测验

1、以下选项中,不是pip工具进行第三方库安装的作用的是
A、脚本程序转变为可执行程序
B、安装一个库
C、列出当前系统已经安装的第三方库
D、卸载一个已经安装的第三方库

2、以下函数中,不是jieba库函数是
A、add_word()
B、sorted(x)
C、lcut_for_search()
D、lcut()

3、关于jieba库的函数jieba.lcut(x),以下选项中描述正确的是
A、向分词词典中增加新词w
B、精确模式,返回中文文本x分词后的列表变量
C、搜索引擎模式,返回中文文本x分词后的列表变量
D、全模式,返回中文文本x分词后的列表变量

4、关于jieba库的函数jieba.lcut(x, cut_all = True),以下选项中描述正确的是
A、向分词词典中增加新词w
B、精确模式,返回中文文本x分词后的列表变量
C、搜索引擎模式,返回中文文本x分词后的列表变量
D、全模式,返回中文文本x分词后的列表变量

5、关于jieba库的函数jieba.lcut_for_search(x),以下选项中描述正确的是
A、向分词词典中增加新词w
B、精确模式,返回中文文本x分词后的列表变量
C、搜索引擎模式,返回中文文本x分词后的列表变量
D、全模式,返回中文文本x分词后的列表变量

6、关于wordcloud库的描述,以下选项中正确的是
A、wordcloud库是中文分词方向的Python第三方库
B、wordcloud库是专用于根据文本生成词云的Python第三方库
C、wordcloud库是机器学习方向的Python第三方库
D、wordcloud库是网络爬虫方向的Python第三方库

7、安装一个库的命令格式是
A、pip download <拟下载库名>
B、pip uninstall <拟卸载库名>
C、pip install <拟安装库名>
D、pip -h

8、下载第三方库安装包但并不安装的命令格式是
A、pip download <拟下载库名>
B、pip search <拟查询关键字>
C、pip install <拟安装库名>
D、pip -h

9、列出当前系统已经安装的第三方库的命令格式是
A、pip download <拟下载库名>
B、pip list
C、pip install <拟安装库名>
D、pip -h

10、关于jieba库的精确模式分词,以下选项中描述正确的是
A、适合用于搜索引擎分词
B、把句子中所有可以成词的词语都扫描出来,速度非常快
C、将句子最精确地切开,适合文本分析
D、在精确模式基础上,对长词再次切分,提高召回率

11、关于jieba库的全模式分词,一下选项中描述正确的是
A、适用于搜索引擎分词
B、在精确模式基础上,对场次再次切分,提高召回率
C、将句子最精确地切开,适合文本分析
D、把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义。

12、WordCloud对象创建的常用参数mask的功能是:
A、指定字体文件的完整路径
B、生成图片的宽度
C、词云形状
D、词云中最大词数

13、WordCloud类的generator方法的功能是:
A、generate(text)在text路径中生成词云
B、generate(text)生成词云的宽度为text
C、generate(text)生成词云的高度为text
D、generate(text)由text文本生成词云

14、WordCloud类的to_file方法的功能是:
A、to_file(filename)将词云图片保存为名为filename的文件
B、to_file(filename)生成词云的字体文件路径
C、to_file(filename)生成词云的形状为filename
D、to_file(filename)在filename路径下生成词云

15、关于词云的描述,错误的是:
A、在安装wordcloud库时,scipy库会作为依赖库自动安装
B、在生成词云时,wordcloud默认会以空格或者标点为分隔符,对目标文本进行分词处理。
C、对于中文文本,分词处理需要用户来完成
D、对于中文文本的分词,一般处理步骤为现将文本分词处理,然后以/符号拼接,再调用wordcloud函数

16、txt 表示一段中文文本,请补充代码,输出该文本所有可能的分词结果。 import jieba txt = "中华人民共和国教育部考试中心委托专家制定了全国计算机等级考试二级程序设计考试大纲" ls = _________________ print(ls)

17、输入字符串,使用中文分词库,输出精确模式的中文分词结果,完善代码。 import jieba s=input() ls=______________ print(ls)

18、请对《阿甘正传-网络版》进行中文分词,删除单个字符的分词结果,输出排序后的前10的词语。完善代码。 import jieba f=open("阿甘正传-网络版.txt","r",encoding="utf-8") txt=f.read() #读入文本,到字符串txt words=_______________ #对txt进行中文分词,生成词语列表words counts={ } #字典,用于统计词频 for word in words: #遍历词语列表words counts[word]=counts.get(word,0)+1 #统计词频到字典counts中 items=list(counts.items()) #将字典转换为列表类型 items.sort(key=lambda x:x[1],reverse=True) #按照词频进行排序 for i in range(10): #输出前10项 word,count=items[i] print("{ }:{ }".format(word,count)) f.close()

19、这里有一个中文文本片段:"今天北京有个好天气,大家一起去爬山。"该句子分上下两部分,用逗号和句号分隔。请对该句子进行分词,并以8为随机种子,在上下半句,分别重新排列组合词语,并组合输出10种不重复的可能。其中上下半句词语不交叉,每个可能的组合单行输出,存储到“句子组合.txt”文件中。 北京今天有个好天气,一起大家去爬山。 有个好天气今天北京,一起大家爬山去。 (略) import jieba import random f=open("d:\\句子组合.txt","w",encoding="utf-8") random.seed(8) s="今天北京有个好天气,大家一起去爬山。"

学习通python程序设计——从基础到应用_2

Python程序设计是计算机编程的一种语言,其简便性和易学性使得它成为了编程入门的优秀选择。在学习通Python程序设计——从基础到应用_2中,我们将进一步学习Python的语法和应用技巧,让大家更好地掌握这门语言。

第一章:面向对象编程

在本章中,我们将会了解Python的一些基本的面向对象编程概念,例如类、对象、实例化、继承等。并且,我们将使用Python自带的Tkinter库来创建一个简单的图形用户界面程序。

1.1 类和对象

在Python中,我们可以使用class关键字来创建一个类。类包含了对象所共有的属性和方法等信息,例如:

在这个例子中,我们创建了一个名为Person的类,它包含了两个属性(name和age)和一个方法(say_hello)。我们可以利用这个类来创建一个对象实例:

在这里,我们使用Person类来创建了两个对象实例(person_1和person_2),并且分别调用了它们的say_hello方法。

1.2 继承

在面向对象编程中,继承是一个重要的概念。它允许子类继承父类的方法和属性,并可以添加或修改子类的属性和方法。例如:

在这个例子中,我们创建了一个名为Student的子类,它继承了Person类的属性和方法,并添加了一个新的属性(grade)和一个修改后的方法(say_hello)。我们可以利用Student类来创建一个对象实例:

1.3 Tkinter库

Tkinter是Python自带的一个图形用户界面库,它提供了许多可视化界面组件(例如按钮、文本框、滚动条等),可以用来创建简单的GUI程序。例如:

在这个例子中,我们创建了一个名为Application的类,它继承了Tkinter的Frame类,并在构造函数中创建了一个名为quit_button的按钮,并将其放置在了框架中。我们创建了一个名为root的Tkinter窗口,并将其传递给Application类的构造函数。最后,我们调用了Tkinter的mainloop方法,使程序进入消息循环。

第二章:文件操作

在本章中,我们将学习Python的文件操作方法。我们将学习如何打开、读取、写入、关闭文件,并学习如何使用Python的os库来进行文件和目录的操作。

2.1 打开和关闭文件

在Python中,我们可以使用open函数来打开一个文件。例如:

在这个例子中,我们使用open函数打开名为example.txt的文件,并将其赋值给名为file的变量。第二个参数\r\表示我们要以只读模式打开这个文件(其他模式还包括\\表示写入模式、\a\表示追加模式等)。在我们完成了对文件的操作之后,我们应该使用close方法来关闭这个文件:

2.2 读取文件

在Python中,我们可以使用read方法来读取一个文件的全部内容,例如:

在这个例子中,我们使用read方法读取了example.txt文件的全部内容,并将其赋值给名为content的变量。我们利用print函数将这个内容输出到了屏幕上。

除了read方法,我们还可以使用readline方法来读取文件的一行内容,例如:

在这个例子中,我们使用readline方法读取了example.txt文件的第一行内容,并将其赋值给名为line的变量。我们利用print函数将这个内容输出到了屏幕上。

2.3 写入文件

在Python中,我们可以使用write方法来向一个文件中写入内容,例如:

在这个例子中,我们使用write方法向example.txt文件中写入了一行字符串\Hello, world!\。请注意,我们在使用\\模式打开文件时,这个文件的内容将会被清空,因此我们可以直接使用write方法来覆盖原有的内容。

2.4 os库

在Python中,我们可以使用os库来进行文件和目录的操作,例如:

在这个例子中,我们使用了os库的一些常用方法。我们首先使用mkdir方法创建了一个名为example_dir的目录,然后使用rename方法将example.txt文件重命名为new_example.txt,使用remove方法删除了new_example.txt文件,最后使用rmdir方法删除了example_dir目录。

总结

在学习通Python程序设计——从基础到应用_2中,我们学习了Python的面向对象编程、文件操作和os库等知识。这些知识将会对我们在日后的Python编程中有很大的帮助。希望大家能够在实践中巩固所学内容,不断提升自己的编程能力。