计算机二级Python选择题题库 第三章 函数 共95题 带答案和解析

第三章 函数 共95题
1.以下关于函数优点的描述中,错误的是√√
O函数便于阅读
O函数可以使程序更加模块化
O函数可以减少代码重复
O函数可以表现程序的复杂度
答案:选d
使用函数主要有两个目的:降低编程难度和增加代码复用。表现程序的复杂度不属于函数的优点。

2.Python中定义函数的关键字是√√
O def
O define
O function
O defun
答案:选a
Python语言通过保留字def定义函数。

3.以下关于Python函数的描述中,错误的是√√
O可以定义函数接受可变数量的参数
O定义函数时,某些参数可以赋予默认值
O函数必须要有返回值
O函数可以同时返回多个结果
答案:选c
函数可以没有return,此时函数并不返回返回值。
当函数使用return返回多个值时,可以使用一个变量或多个变量来保存结果。

4.以下关于Python函数的描述中,错误的是_××
O Python程序需要包含一个主函数且只能包含一个主函数
O如果Python程序包含一个函数main(),这个函数与其它函数地位相同
O Python程序可以不包含main函数
O Python程序的main函数可以改变为其他名称
答案:选a
Python程序可以不包含main函数。

6.以下代码的输出结果是______。√√
for s in “PythonNCRE”:
if s==“N”:
continue
print(s,end=“”)
O N
O PythonCRE
O Python
O PythonNCRE
答案:选b
continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。由代码可知,当s=="N"条件成立时,跳出当前当次循环,不输出s的值,则最后的输出结果为PythonCRE。

6.当用户输入5时,下面代码的输出结果是______。×√
try:
n = input(“请输入一个整数:”)
def pow2(n):
return n**2
pow2(n)
except:
print(“程序执行错误”)
答案:程序执行错误
input()函数从控制台获得用户的一行输入,无论用户输入什么内容,input()函数都以字符串类型返回结果。所以变量n是字符串类型,计算n的平方时产生异常,执行except后的语句块,输出"程序执行错误"。

7.以下关于Python语言return语句的描述中,正确的是√√√
O return只能返回一个值
O函数必须有return语句
O函数可以没有return语句
O函数中最多只有一个return语句
答案:选c
函数中可以有多个return语句。
函数可以没有return,此时函数不返回值。
当函数使用return返回多个值时,可以使用一个变量或多个变量保存结果。

8.以下关于Python全局变量和局部变量的描述中,错误的是_√√
O局部变量在函数内部创建和使用,函数退出后变量被释放
O全局变量一般指定义在函数之外的变量
O使用g1oba1保留字声明后,变量可以作为全局变量使用.
O当函数退出时,局部变量依然存在,下次函数调用可以继续使用
答案:选d
局部变量指在函数内部定义的变量,仅在函数内部有效,当函数退出时变量将不再存在。

9.以下代码的输出结果是______。×√
CList = list(range(5))
print(2 in CList)
答案:选c
range(start, stop[, step])表示计数从start开始,到stop结束,不包括stop,步长默认为1。
start默认从0开始,range(5)等价于range(0,5),则CList中的元素取值为0、1、2、3、4。
x in S方法的作用是如果x是S的元素,返回True,否则返回False。
2是CList中的元素,所以输出True。

10.关于以下代码的描述中,错误的是______。×√√
def fact(n):
s = 1
for i in range(1,n+1):
s *= i
return s
O代码中n是可选参数
O fact (n)函数功能为求n的阶乘
O s是局部变量
O range()函数是Python内置函数
答案:选a
代码中的n是非可选参数。函数的n没有给默认值所以必须得有
可选参数一般放在非可选参数的后面,即定义函数时,先给出所有非可选参数,然后再分别列出每个可选参数即对应的默认值。

11.以下代码的输出结果是______。√√
def func(a,b):
a *= b
return a
s = func(5,2)
print(s)
答案:10
语句a = b,即a=ab,a的值为10,func(5,2)返回值为10,即s的值为10。

12.以下代码的输出结果是______。×√
ls = [“car”,“truck”]
def funC(A):
ls.append(A)
return
funC(“bus”)
print(ls)
答案:[“car”,“truck”, “bus”]
ls.append(x)的作用是在列表ls最后增加一个元素x。输出[“car”,“truck”, “bus”]。

13.以下代码的输出结果是______。×√
t=10.5
def above_zero(t):
return t>0
O没有输出
O True
O 10.5
O False
答案:选d
代码中只定义了函数above_zero(),未向函数中传递参数,函数不执行,没有输出。

14.以下关于Python语言的描述中,错误的是√√
O函数中return语句只能放在函数定义的最后面
O定义函数需要使用保留字def
O使用函数最主要的作用之一是复用代码
O Python函数可以定义在分支或循环语句的内部
答案:选a
return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,同时将0个、1个或多个函数运算的结果返回给函数被调用处的变量。

15.以下代码的输出结果是______。√√
def young(age):
if 12 <= age <= 17:
print( “作为一个大学生,你很年轻”)
elif age <12:
print( “作为一个大学生,你太年轻了”)
elif age <= 28:
print( “作为一个大学生,你要努力学习”)
else:
print( “作为一个大学生,你很有毅力”)
young(18)
答案:作为一个大学生,你要努力学习
age取值为18时,if 12 <= age <= 17条件不成立,不执行输出语句;elif age <12条件不成立,不执行输出语句;elif age <= 28条件成立,执行输出语句,最后输出:作为一个大学生,你要努力学习。

16.以下代码的输出结果是______。×√☆
def fibRate(n):
if n <= 0:
return -1
elif n == 1:
return -1
elif n == 2:
return 1
else:
L = [1, 1]
for i in range(2,n):
L.append(L[-1]+L[-2])
return L[-2]/L[-1]
print(fibRate(5))
答案:0.6
n=5时,执行else后的语句,i的取值范围为range(2,5),即2、3、4。
ls.append(x)的作用是在列表ls最后增加一个元素x。
初始状态时,L=[1,1]。
第一次循环,n=2,L[-1]+L[-2]=2,L=[1,1,2];
第二次循环,n=3,L[-1]+L[-2]=3,L=[1,1,2,3];
第三次循环,n=4,L[-1]+L[-2]=5,L=[1,1,2,3,5]。
循环结束,返回值L[-2]/L[-1],即3/5=0.6。

17.以下关于函数返回值的描述中,正确的是_√√
O Python函数的返回值使用很灵活,可以没有返回值,可以有一个或多个返回值
O函数定义中最多含有一个return语句
O在函数定义中使用return语句时,至少给一个返回值
O函数只能通过print语句和return语句给出运行结果
答案:选a
函数定义中可以含有多个return语句,可以返回0个、1个或多个函数运算的结果。函数可以没有return,此时函数不返回值。
当函数使用return返回多个值时,这些值形成了一个元组数据类型,由小括号和逗号分隔,如(a,b,c),可以使用一个变量或多个变量保存结果。

18.以下代码的输出结果是______。√√
def Hello(famlyName,age):
if age > 50:
print(“您好!”+famlyName+“大爷”)
elif age > 40:
print(“您好!”+famlyName+“叔叔”)
elif age > 30:
print(“您好!”+famlyName+“大哥”)
else:
print(“您好!”+“小”+famlyName)
Hello(age=60, famlyName=“王”)
O函数调用出错
O您好!王叔叔
O您好!王大哥
O您好!王大爷
答案:选d
Python的多分支结构使用if-elif-else保留字对多个相关条件进行判断,并根据不同条件的结果按照顺序选择执行路径。
题目中代码为变量age赋值60,条件if age > 50成立,输出:您好!王大爷。

19.以下关于Python函数的描述中,错误的是_√√
O函数是一段可重用的语句组
O每次使用函数需要提供相同的参数作为输入
O函数通过函数名进行调用
O函数是一段具有特定功能的语句组
答案:选b
每次使用函数可以提供不同参数作为输入,以实现对不同数据的处理。

20.函数中定义了2个参数,且两个参数都指定了默认值,调用函数参数个数最少是_____√√
答案:0
函数的参数在定义时可以指定默认值,当函数被调用时,如果没有传入对应的参数值,则使用函数定义时的默认值替代,则调用函数时,参数个数最少是0。

21.以下关于Python函数的描述中,正确的是_√×
O一个函数中只允许有一条return语句
O Python中,def和return是函数必须使用的保留字
O Python函数定义中没有对参数指定类型,这说明参数在函数中可以当作任意类型使用
O函数eval ()可以用于数值表达式求值,例如eval(" 2*3+1")
答案:选d
函数eval()的作用是去掉字符串最外侧的引号,并按照Python语句方式执行去掉引号后的字符内容。

22.关于以下代码的描述中,错误的是______。√√
def func(a,b):
c=a2+b
b=a
return c
a=10
b=100
c=func(a,b)+a
O该函数名称为func
O执行该函数后,变量c的值为200
O执行该函数后,变量b的值为100
O执行该函数后,变量a的值为10
答案:选b
c = func(a,b)+a = func(10,100)+10 = 10
2+100+10 = 210
代码后,变量c的值为210,不是200。

23.以下关于Python全局变量和局部变量的描述中,错误的是_√
O全局变量在程序执行的全过程有效
O全局变量一般没有缩进
O全局变量不能和局部变量重名
O一个程序中的变量包含两类:全局变量和局部变量
答案:选c
全局变量和局部变量可以重名。

24.以下的函数定义中,错误的是×√
def vfunc(a, b=2):
O def vfunc(a, b):
O def vfunc(a, *b):
O def vfunc(*a, b):
答案:选d
可选参数一般都放置在非可选参数的后面。
即定义函数时,先给出所有非可选参数,然后再分别列出每个可选参数及对应的默认值。
"def vfunc(a,b):"函数定义错误,参数位置出错。
就是带
的要放在后面

25.执行以下程序,输入"fish520",输出结果是______。××
w = input()
for x in w:
if ‘0’<= x <= ‘9’:
continue
else:
w.replace(x,‘’)
print(w)
答案:fish520
x in s:如果x是s的子串,返回True,否则返回False。
continue:用来结束当前本次循环,跳出循环体中下面尚未执行的语句,但不跳出当前循环。
str.replace(old,new):返回字符串str的副本,所有old子串被替换为new。
根据题目,改变的是字符串副本,字符串w本身的内容没有改变,所以最后还是输出fish520。
就是正常replace的用法是,print(str.replace(‘a’,’b’))或者str2= str.replace(‘a’,’b’)
就是replace会返回一个新的字符串,这个字符串不会改变原来str字符串的。

26.执行以下程序,导致输出"输入有误"的输入选项是______。×√☆
try:
ls= eval(input())*2
print(ls)
except:
print(‘输入有误’)
O aa
O ‘12’
O ‘aa’
O 12
答案:选a
eval()函数将去掉字符串最外侧的引号,并按照Python语句方式执行去掉引号后的字符内容,使用方式如下:
<变量> = eval(<字符串>)
变量用来保存对字符串内容进行Python运算的结果。
输入aa时,Python语句将其解释为一个变量,由于之前没有定义过变量aa,因此解释器报错。
输入数字,包括小数和复数,input()解析为字符串,经由eval()去掉字符串引号,将被直接解析为数字保存到变量中。

27.以下关于组合类型的描述,正确的是×☆
O字典的items()函数返回一个键值对,并用元组表述空字典
O可以用set创建集合,用中括号和赋值语句增加新元素
O字典数据类型里可以用列表做键
O可以用大括号来创建
答案:选d
创建集合直接用{}。
set(x)函数将其他的组合数据类型变成集合类型,返回结果是一个无重复且排序任意的集合。
使用大括号可以创建字典,特殊地,可以创建一个空字典。
d.items()返回字典中的所有键值对信息,返回结果是Python的一种内部数据类型dict_items。
是所有键值对,不是一个键值对。
赋值语句不能增加新元素,用add()增加

28.以下程序的输出结果是______。×☆
s = 0
def fun(s,n):
for i in range(n):
s += i
print(fun(s,5))
O None
O 10
O 0
O UnboundLocalError
答案:选a
s += i即s=s+i
n=5,range(0,5)即i=0、1、2、3、4
i=0,s=s+i=0+0=0
i=1,s=s+i=0+1=1
i=2,s=s+i=1+2=3
i=3,s=s+i=3+3=6
i=4,s=s+i=6+4=10
但是题目有坑,函数fun()无返回值,所以最后输出None。
本题中函数体内没有retum语句,即无返回值,所以默认返回None.

29.以下关于函数的描述,正确的是×√
O函数一定要有输入参数和返回结果
O使用函数可以增加代码复用,还可以降低维护难度
O在一个程序中,函数的定义可以放在函数调用代码之后
O自己定义的函数名不能与Python内置函数同名
答案:选b
使用函数主要有两个目的:降低编程难度和增加代码复用。
函数可以在一个程序中多个位置使用,也可以用于多个程序,当需要修改代码时,只需要在函数中修改一次,所有调用位置的功能都更新了,这种代码复用降低了代码行数和代码维护难度。
A选项,函数可以没有返回结果
C选项,python函数的应用一般需要:先定义、后调用。如果函数定义在调用之后,执行将报错
自己定义的函数可以与内置函数同名,当调用此函数时会先调用自己定义的函数;
函数可以没有输入参数和返回结果;
Python 程序是自上而下执行的,函数的定义应放在函数调用之前,否则会报错。
网络解释:
自己定义与Python内置函数重名的函数,优先使用自己的
先定义同名函数,再进行调用,Python调用的是自己定义的,可以理解为函数的作用域重合时的优先级问题。
也可以理解为重名函数以最后定义的为准。

  1. 以下程序的输出结果是______。√√
    def loc_glo( b = 2, a = 4):
    global z
    z += 3 * a +5 * b
    return z
    z = 10
    print(z, loc_glo (4,2))
    答案:10 36
    loc_glo (4,2),b=4,a=2
    z=z+3a+5b=10+32+54=36,函数返回值36
    z为全局变量,所以值不变,最后输出仍为10。

    31.以下关于随机运算函数库的描述,错误的是_×√☆
    O random(a, b)产生一个a到b之间的随机小数
    O random. seed()函数初始化随机数种子,默认值是当前系统时间.
    O random库的随机数是计算机按一定算法产生的,并非完全随机
    O Python内置的random库主要用于产生各种伪随机数序列
    答案:选a
    ramdom():生成一个[0.0,1.0)之间的随机小数。
    uniform(a,b):生成一个[a,b]之间的随机小数。
    random. seed()函数初始化随机数种子,默认值是当前系统时间。
    random库的随机数是计算机按一定算法产生的,并非完全随机,产生的是伪随机数序列。
    random.seed() 函数:用来生成随机数
    1.参数可以是任何数字,如果使用相同的x值,则每次生成的随即数序列都相同;
    2.如果不设置x值,系统将根据时间自动选择x值,此时生成的随机数序列因时间差异而不同;
    3.对于同一x值,若多次执行random.seed(x),将按照固定的序列顺序从头开始生成随机数。

32.以下代码的输出结果是______。×√☆
print(‘{:@>10.6}’.format(‘Fog’))
O Fog@@@@
O @@@@Fog
O Fog @@@@@@@
O @@@@@@@Fog
答案:选d
format()方法的格式控制的语法格式如下:
{<参数序号>:<格式控制标记>}
格式控制标记包括:<填充><对齐><宽度><,><.精度><类型>等六个字段,这些字段都是可选的,可以组合使用。
填充常跟对齐一起使用,^、<、>分别是居中、左对齐、右对齐。
后面带宽度,引导符号’:'后面带填充的字符,只能是一个字符,不指定默认是用空格填充。
所以填充字符为@,宽度为10,精度为6,也就是字符串最大输出长度为6。
Fog长度为3,可以正常输出。

表示右对齐,所以输出结果为@@@@@@@Fog。
{:@>10.6} format('Fog’)表示输出时宽度为10,右对齐且填充@;若字符串长度大于6,只保留前6个字符,小于等于6则全部输出。输出结果为@@@@@@@Fog

33.执行以下程序,输ab,然后回车,结果是______。×√☆
k = 10
while True:
s = input(‘请输入q退出:’)
if s == ‘a’:
k += 1
continue
else:
k += 2
break
print(k)
答案:12
break用来跳出最内层循环,脱离该循环后程序从循环后的代码继续执行。
continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。
首先s == 'a’成立,k的值加1,变成11,结束当前当次循环,进入下个循环。
函数内部的k不是全局变量,不改变外部全局变量的值,所以进入第二次循环时,k的值依然为10。
此时s的值为b,s == 'a’成立不成立,k的值加2,变成12,跳出循环,执行输出语句,输出结果为12。

34.以下程序的输出结果是______。√√
s = 10
def run(n):
global s
for i in range(n):
s += i
return s
print(s,run(5))
O 10 20
O 20 20
O 10 10
O UnboundLocalError
答案:选a
n=5,range(5),i=0、1、2、3、4
range(n)函数:代表从0到n(不含)产生的一个序列。
n=5,所以函数的返回值为10+0+1+2+3+4=20,全局变量s的值依然为10。

35.以下关于Python的函数的描述,正确的是××√☆
O函数内部改变了外部定义的组合类型变量的值,外部该变量的值不随之改变
O函数内部改变了已经声明为全局变量的外部的简单类型,外部该变量的值也随之改变
O函数内部定义了跟外部的全局变量同名的组合类型的变量,则函数内部引用的该名字的变量时不确定是外部的还是内部的
O函数内部使用外部定义的一个简单类型变量,需要显式声明其为全局变量
答案:选d
全局变量指在函数之外定义的变量,在程序执行全过程有效。
全局变量在函数内部使用时,需要提前使用保留字global声明。
函数内部如果未使用global声明,即使名称相同,也不是全局变量,不会改变外部全局变量的值。
函数内部改变了外部定义的组合类型变量的值,外部该变量的值会随之改变。

1.若该变量为简单类型变量,对于在函数外部定义的全局变量,在函数内部使用时需要提前使用保留字global声明其为全局变量。
2.函数内部改变了已经声明为全局变量的外部的简单类型,外部该变量的值不变。
3.若该变量为组合类型变量,在函数内部定义和该变量同名的变量,在函数内部引用时该变量是内部的,和外部的值无关。
4.函数内部改变了外部定义的组合类型变量的值,外部该变量的值会随之改变。

36.以下程序的输出结果是______。√√
ls = [10]
def run(n):
ls.append(n)
run(5)
print(ls)
O [10]
O UnboundLoca1Error
O [10, 5]
O None
答案:选c
ls.append(x):在列表ls最后增加一个元素。

37.对于序列s,能够返回序列s中第i到第j以k为步长的子序列的表达是×√
O s[i:j:k]
O s[i, j, k]
O s[i;j;k]
O s(i, j, k)
答案:选a
s[i:j:k]:步骤切片,返回包含序列s第i到j个元素以k为步数的子序列。
切片,里面是冒号!

38.对于序列s,以下选项对min(s)描述正确的是√√
O 一定能够返回序列s中的最小元素
O可以返回序列s中的最小元素,但要求s中元素可比较
O可以返回序列s中的最小元素,如果存在多个相同的最小元素,则返回一个元组类型
O可以返回序列s中的最小元素,如果存在多个相同的最小元素,则返回一个列表类型
答案:选b
min(s):序列s中的最小元素。
使用前提是序列中各元素类型可以进行比较,如果元素间不能比较,则函数会报错。
min()函数返回给定参数的最小值,但是要求给定参数是可以比较的。若给定的参数不能比较,则会报错;若给定参数存在多个最小元素,min()只会返回序列中最小的一个元素。

39.以下程序的输出结果是______。√√
x = 10
y = 0
if (x > 5) or (x/y > 5):
print(‘Right’)
else:
print(‘Wrong’)
O报错: ZeroDivisionError
O Wrong
O Right
O不报错,但不输出任何结果
答案:选c
保留字or表示多个条件之间的“或”关系。
or的条件只要满足一个即可,x>5满足,执行下一语句,输出Right,or右侧条件语句不运行。

40.以下程序的输出结果是______。×√
for c in ‘Python NCRE’:
if c == ‘N’:
break
print©
答案:
O无输出
O Python
O Pytho
O PythonCRE
答案:选a
break用来跳出最内层循环,脱离该循环后程序从循环后的代码继续执行。
本题中满足条件时,直接退出循环,不执行print语句,所以无输出。
卧槽,真贱啊,把print放循环里面,一定要注意看缩进

41.以下程序的输出结果是______。√√
s=2
for i in range(1, 10):
s += i
print(s)
答案:47
2+1+2+3+4+5+6+7+8+9
range(start, stop[, step])表示计数从start开始,到stop结束,但不包括stop,步长默认为1。i的取值范围是1、2、3、4、5、6、7、8、9。所以s=2+1+2+3+4+5+6+7+8+9=47。

42.以下程序被调用后,能够正确执行的是______。×√
def f(x,y=1,z=2):
pass
O f(1, x=2, z=3)
O f(x=1,2)
O f(x=1, y=2, z=3)
O f(1, y=2, z=3)
答案:选c
函数调用时,默认采用按照位置顺序方式传递给函数,同时支持按照参数名称方式传递参数。
就是说,你要不就按照位置使用位参,要不就按照参数名称等于实际值,不要混着用

43.以下程序被调用后,运行错误的是______。××
def f(x,y=1,z=2):
pass
O f(1,3)
O f(1, 2)
O f(1,2, 3)
O f(1)
答案:选a
函数调用时,默认采用按照位置顺序的方式传递给函数,同时支持按照参数名称方式传递参数。f(1, , 3)应该修改为f(x=1,z=3)。
B选项,f(1, 2)就是默认按照位置,那个2按照位置就是传给y

44.以下不能用于生成空字典的选项是_×√
O dict(())
O dict()
O {}
O {[]}
答案:选d
使用大括号可以创建字典,特殊地,可以创建一个空字典。
dict():生成一个空字典,作用和{}相同。
dict(())等同于dict()。

45.对于字典d,以下选项对d. values()的描述正确的是√√
O返回一个集合类型,其中包括字典d的所有值
O返回一个列表类型,其中包括字典d的所有值
O返回一个元组类型,其中包括字典d的所有值
O返回一个dict__Values类型,其中包括字典a的所有值
答案:选d
d.values()返回字典中给的所有值信息,返回结果是Python的一种内部数据类型dict_values。

46.以下程序的输出结果是______。√√
ls=[1,2,3]
lt=[4,5,6]
print(ls+lt)
O [5,7, 9]
O [1,2,3, [4, 5, 6]]
O [4,5, 6]
O [1,2,3, 4, 5, 6]
答案:选d
ls + lt将两个列表的所有元素合并为一个列表。

47.以下程序的输出结果是______。√√
a = [3, 2, 1]
for i in a[::-1]:
print(i, end=’ ')
O 1 2 3
O 3 2 1
O 1,2,3
O 3,2,1
答案:选c
列表切片:<列表或列表变量>[N:M:K]
切片获取列表类型从N到M(不包含M)的以K为步长所对应的元素组成的列表。
题中k为-1,N和M省略,表示获取列表从后往前的所有元素,即1 2 3。

48.以下程序的输出结果是______。√√
a=[3,2,1]
b=a[:]
print(b)
O [3,2, 1]
O []
O [1,2,3]
O 0xA1F8
答案:选a
列表切片:<列表或列表变量>[N:M:K]
切片获取列表类型从N到M(不包含M)的以K为步长所对应的元素组成的列表。
题中三个参数均省略,表示获取整个列表,即[3, 2, 1]。XQ

49.以下关于随机运算函数库的描述,正确的是×√☆
O random库产生的随机数是完全随机的
O Python的random库是内置库,随Python一起发布
O random(a, b)产生一个(a, b)之间的随机小数
O random. seed()函数初始化随机数种子,是为了可以重复再现随机数序列
答案:选d
ramdom():生成一个[0.0,1.0)之间的随机小数。
uniform(a,b):生成一个[a,b]之间的随机小数。
但是计算机是不可能产生随机值,真正的随机数也是在特定条件下产生的确定值。
random库是使用随机数的Python标准库,使用时需要使用import来调用,而内置库是可以直接使用的,不需要import来调用。
random.seed()函数初始化随机数种子,默认值是当前系统时间,种子相同,产生的随机数也相同,方便程序复现。

50.以下语句的执行结果是______。××☆
lss = ‘ab’
print(‘{:->4}’.join(lss))
O ab–
O --ab
O a{:->4} b
O ab
答案:选c
join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法:‘sep’.join(seq)
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串。
把’{:->4}'这个东西join到(lss)里面,lss是ab,那就是a{:->4} b
这里的join()函数要和format()函数区分开,非常得迷惑人!

51.执行以下程序,根据提示输入3.2,回车后,输出结果是______。×☆
flag = 0
try:
b = int(input(‘请输入字符串总长度:’))
print(type(B))
except:
flag = 1
print(“请输入一个正整数:”)
print(flag)
O请输入一个正整数.
O <class ’float’>
O <class’ int’ >
O <class’int’ >
答案:选a
python中的try…except语句中,如果try语句块执行成功,就会执行try语句块,否则执行except异常语句。
b = int(input(‘请输入字符串总长度:’)),要求输入一个整数,而题目输入的是3.2,try语句执行不成功,执行except中的语句。

52.以下程序的输出结果是______。××
img1 = [12,34,56]
img2 = [1,2,3,4]
def displ(img):
print(img)
img1 = img2
img1.append([5,6])
disp1(img2)
O [12, 34, 56]
O [1,2,3, 4, 5, 6]
O [1,2,3, 4]
O [1,2,3, 4, [5, 6]]
答案:选d
img1 = img2的作用:img1和img2都对[1,2,3,4]对象的引用,img2会随着img1的改变而改变。
ls.append(x)的作用是在列表ls最后增加一个元素x。[5,6]是作为一个元素被添加进去的,所以最后结果为[1,2,3,4,[5,6]]。
列表的复制,通过img1=img2,使得两个变量绑定同一个地址,那么当其中一个只要是未进行赋值的变化时另一个也会随之发生变化,当img1使用append()方法添加了[5,6],img1=[1, 2, 3, 4, [5, 61],此时img2也就随之变化。所以调用函数显示的是[1, 2, 3, 4, [5, 6]]

53.以下关于Python的函数的描述,错误的是√√
O python支持用名称传递参数,调用的时候,带名称的参数可以改变在参数序列中的位置
O用def定义了函数之后,就等同于运行函数的代码
O python支持可选参数传递,定义的时候设置参数的默认值
O python函数可以没有return语句,不返回值
答案:选b
用def定义了函数之后,函数被调用后才等同于运行函数的代码。

54.以下程序的输出结果是______。√√
def calu(x = 3,y = 2)
return(xy)
a = ‘abc’
b = 2
print(calu(a,b),end = ‘,’)
O abcabc,
O abcabc
O 6,
0 abcabc, 6
答案:选a
输出calu(a,b)的结果,以","结束。calu(a,b)的返回值是a
b,所以输出"abcabc,"。

55.以下关于随机运算函数库的描述,错误的是_××
O用random(a, b)产生一个[0.0, 1.0)之间的随机小数
O random choice([1, 2, 3])函数返回的值有可能是3
O Python的random库采用梅森旋转算法生成伪随机数序列
O random sample(pop, k)返回从pop类型中随机选取的k个元素构成的列表
答案:选a
ramdom():生成一个[0.0,1.0)之间的随机小数。

56.以下代码的执行结果是______。××☆
x,y,z = 3,4,5
print(‘x = {1},y ={0},z={0}’.format(x,y,z))
O x =4,y=3,z=3
O x =3,y=4,z=5
O x=4,y=4,z=3
O x=4,y=5,z=3
答案:选a
print(‘x = {1},y ={0},z={0}’.format(x,y,z))表示格式化输出。
x = {1}的意思是将x,y,z中序号为1的元素输出,即第二个元素y的值4。
y ={0}的意思是将序号为0的元素输出,即第一个元素x的值3。
以此类推,最后结果为x = 4,y =3,z=3。

57.执行以下程序,输入60,输出的结果是______。√√
s = eval(input())
k =‘合格’if s >= 60 else ‘不合格’
print(s,k)
O不合格
O 60
O 60合格
O合格
答案:选c
函数eval()的作用是去掉字符串最外侧的引号,并按照Python语句执行去掉引号后的字符内容。
输入60,满足条件,k被赋值为’合格’,输出s和k,即为60合格。

58.以下程序的输出结果是______。××☆
k = ‘fadfa’
def send(n):
s = ‘’
for i in range(-1,-len(n),-1):
s += k[i]
return s
print(k,‘,’,send(k))
O fadfa, afdaf
O afdaf
O fadfa, afda
O fadfa
答案:选c
n=k,len(n)=len(k)=5
range(-1,-len(n),-1)就是range(-1,-5,-1)
i=-1、-3不包括-5
s += k[i]就是s=s+k[i]
s初值为空,i=-1,s=k[-1]=’a’
i=-3,s=s+k[-3]=’a’+=’a’

range(start, stop[, step])表示计数从start开始,到stop结束,但不包括stop。
序号可以使用正向递增序号或者反向递减序号,正向从0开始,反向从-1开始。
输入k,字符串的长度为5,所以range(-1,-len(n),-1)等价于range(-1,-5,-1),则i的取值范围为-1、-2、-3、-4。
i=-1时,k[-1]=a,字符串s中添加字符a,依次类推,s的最终结果为afda,循环结束,输出fadfa,afda。

59.使用Python的函数,需要的步骤不包括_√√
O函数定义
O函数测试
O函数调用
O函数执行
答案:选b
使用函数的步骤中不包括函数测试。

60.以下程序的输出结果,可能的选项是______。√√
import random
def test():
x = random.randint(0,10)
y = random.randint(10,20)
return([x,y])
print(test())
O (6, 20)
O [11, 13]
O [6, 20]
O (1, 11)
答案:选c
randint(a,b):生成一个[a,b]之间的整数。
x的取值范围是[0,10],y的取值范围为[10,20]。
A、D选项中不包括临界值,与题面不符,错误。
B选项中x的取值超出范围,错误。

61.以下不属于Python的内置函数的选项是______。×√
O abs()
O sum()
O input(
O get()
答案:选d
get()方法是字典的方法,并不属于Python的内置函数; input()基 本的输入函数,abs()绝对值函数,sum()计算和的函数。
get()不属于Python内置函数。
这题可以考技巧猜的,知道input肯定是的,而且abs和sum又都是同一个类型的,都是计算的,所以选d

62.以下不能判断变量x在字符串变量s中的方法是√√
(A)x ins
(B) len(s. split(x))
© s.strip(x)
(D) s. count(x)
答案:选c
s.strip(x)只能判断字符串头尾的东西,别的判断不出来

63.关于Python中for循环的描述,正确的选项是√√
(A) for循环能够实现列表的遍历,不能实现字典的遍历
(B) for循环内语句块的执行次数一定大于1
© for循环不能与break和continue保留字联合使用
(D)能用for循环实现字符串里每个字符的遍历
答案:选d
for循环可以实现字典的遍历
for循环语句块可以就执行1次

64.不是Python内置函数的选项是√√
(A) type()
(B) ord()
© divmod()
(D) compare()
答案:选d
compare()不是Python内置函数

65.关于异常处理的描述,错误的选项是×√
(A) except后面可以增加异常类型,进而区分不同异常进行处理
(B)异常处理中try是必须的,except并不必须
© try和except都是异常处理保留字
(D) try、except、 else、 finally都可以用于异常处理
答案:选b
异常处理中try是必须的,except也是必须的

66.以下代码的输出结果是××☆
ls = [2018, 2019, 2020]
print(", ". join(ls))
(A) TypeError错误
(B) 2018, 2019, 2020
© 2018, 2019, 2020,
(D) 201820192020
答案:选a
join()函数必须处理的是字符串类型的变量,逗号不是,类型错误

67.以下代码的输出结果是××☆
ls=’ab’
print(‘{{}} {:+^ 4}’. format(ls))
(A) +ab+
(B) {{}]+ab+ ,
© +ab{}+
(D) {}+ab+
答案:选d
‘{{}} {:+^ 4}’. format(ls),用{}进行填充,+表示填充,^表示ls居中,宽度为4,即输出+ab+
{第一个花括号} {第二个花括号}第一个花括号输出{},第二个花括号表示填充格式。
使用format输出花括号本身。两个左花括号输出左花括号本身,两个右花括号输出右花括号本身。
容易搞混的题型,第50题,join(lss)

68.执行以下程序,输3.2,然后回车,结果是√√
flag =0
try:
b=eval (input(‘请输入计算次数:'))
print(type(b))
except:
flag=1
print("请输入整数”)
print(flag)
(A) <class ‘int’>
0
(B) <class ‘float’>
0
© <class 'float '>
1
(D)请输入整数
1
答案:选b
eval去掉引号,剩下3.2是float型,flag=0
当输入3.2时,b等于eval(“3.2”), 也就是3.2, 然后打印输出3 2的数据类型,此两句代码不会出现异常,即except模块的语句不会执行,最后打印输出flag即可。

69.以下程序的执行结果是×√
a = [12,34, 56]
b = [1,2,3, 4]
def displ(a):
print(‘res:’, [a])
b=a
a. append([5, 6])
displ (b)
(A) res: [[12, 34, 56, [5, 6]]]
(B) res: [[12, 34,56, 5, 6]]
© res: [12, 34, 56, 5, 6]
(D) res: [[1, 2, 3, 4, [5, 6]]]
答案:选a
b=a只是b加一个索引,指向a
a. append([5, 6]),在[12,34, 56]增加一个元素[5, 6],a变成[12, 34, 56, [5, 6]]
[a]是在方括号里再加列表,即[[12, 34, 56, [5, 6]]]

70.以下程序的输出结果是××☆
def func(x =[], y=[6,7]):
x. append(8)
y. append(8)
return(x+y)
a, b= [1,2], [3,4]
t=func(x=a)
t=func(y=b)
print(func() , end=‘;’ )
(A) [8,6,7,8,8];
(B) [8,6,7,8,8]
© [8,8,6,7,8,8]
(D) [8,8,6,7,8,8];
答案:选d
t=func(x=a)执行,x=[1,2,8],y=[6,7,8]
t=func(y=b)执行,x=[8],y=[6,7,8]
只要函数参数的默认地址里的值被修改过,后期再次调用时也是使用被修改过的值。

由于列表类型的参数是可变对象,此处func函数中的x,y参数每被调用一次,参数值就会改变一次。
本题考核的是列表的可变性,当列表在使用apeend()等操作时,数据变化,地址不变。
题目中程序执行第一次函数func(x=a), x使用参数a的地址,结束时x为[1,2,8], y使用默认参数[6,7]的地址,结束时y为[6,7,8];

71.当用户输入apple, banana, bear时,以下代码的执行结果是√√
a = input(“”). split(“,”)
x=0
while x < len(a):
print(a[x], end=“&”)
x=x+1
(A) apple, banana, bear
(B) apple&banana&bear&
© apple&banana&bear
(D)执行出错
答案:选b
apple&banana&bear&

72.以下代码的执行结果是√√
def maxcount():
a,b=1000,99
for i in range(10) :
a*=b+1
b*=a-1
return a<b
maxcount ()
(A) False
(B) True
© 无输出
(D) 执行错误
答案:选c
没有print语句,无输出

73.以下代码的执行结果是××
a =1000
while (a>123):
for i in range(10) :
a = a-a//123
if a <200:
break
print(a)
(A)执行错误
(B) 123
©1000
(D) 199
答案:选b
这个break就算是跳出循环,也只是跳出for循环,while循环只有当a<=123的时候,才能输出a,选项里只有123符合要求。

74.以下代码的执行结果是√√
start = 2
n= 0
while start <= 10:
start=start+2.
n=n+ 1
print(n)
(A)5
(B)6
©4
(D)0
答案:选a
S=2,n=0
S=4,n=1
S=6,n=2
S=8,n=3
S=10,n=4

75.以下代码的执行结果是××☆
def func(n):
n=n+2
return n
a=10
func(a)
print(a)
(A) 11
(B) 10
© 12
(D) 0
答案:选b
这里的func(a),return a=12,但是并没有改变a的值,a的值还是等于10,
函数内执行形参n的自增长,并且将n作为返回值,但是当调用函数的时候并没有变量接收返回值,且最后输出语句输出的是全局变量a,所以输出的值为10。

76.以下关于组合类型的描述,正确的是( )√
A、空字典可以用大括号来创建
B、可以用set创建集合,用中括号和赋值语句增加新元素
C、字典数据类型里可以用列表做键
D、字典的items ()函数返回一个键值对, 并用元组表述
答案: A
集合中可以使用add()方法增加新元素,不能使用中括号来添加,B项错误;
字典数据类型必须用不可变的元素做键,而列表是可变的,不能做键,C项错误;
字典的items () 函数返回的是所有的键值对,D项错误。

77.关于random库的描述错误的是( )√
A、使用random库可以用import random方式引入
B、random.seed)可用于初始化随机数种子,用于随机数序列再现
C、random.randint()将产 性-个随机整数
D、random()库产 生在0到1之间真正的随机数
答案: C
导入random库的三种方式①import random,②impot random as t,③from random import *;
seed()函数设置随机数种子,可以选择不同的序列进行展示,用于随机数序列再现;
randint()函数用于产生一个随机整数;
random()库是采用梅森旋转算法生成的伪随机数序列,并不是现实意义上的随机数。

78.以下关于Python函数的说法,错误的是()√
A、每个Python函数至少包含一个returm语句,如果没有返回参数,直接用retum
B、通过给部分函数参数赋默认值,可以实现可选参数传递
C、调用函数时,可以通过向参数名称赋值而不考虑参数顺序
D、Python函数可以同时返回多个值
答案: A
Python中函数可以没有return语句,也可以通过returm语句返回一个或多个值;
在创建函数的时候可以设置参数默认值,之后在调用函数时,便可以实现可选参数传递;
在调动函数时,可以通过关键字传参的方式(向形参名赋值),此时不用考虑传参顺序。

79.关于数据维度,以下选项中描述错误的是( )√
A、列表类型可以表示二 维数据
B、集合类型可以表示一维数据
C、字典类型可以表示一二维数据
D、字典可以表示高维数据
答案: C
在Python语言中,列表可以表示一二维数据,集合可以表示一维数据,字典一般表示高维数据。

80.以下关于随机运算函数库的描述,正确的是()√
A、Python的random库通过pip进行安装库
B、使用random.random()生成随机数前, 必须先用random. seed函数初始化随机数种子
C、random.randint(a,b)产生一 个[a,b]之间的随机整数
D、random.random(a,b)产生一个a,b)之间的随机小数
答案: C
random库是Python的标准库,无需安装;
使用random库内函数时,seed()函数可以省略,此时将自动以当前时间作为随机数种子;
randint(a,b)函数可以产生一个[a,b]之间的随机整数;
random()函数没有参数,且只能产生在[0,1)范围内的随机浮点数。

81.下面关于Python中的变量描述错误的是( )√
A、全局变量和局部变量两者的本质区别就是在于作用域
B、全局变量在函数内部和函数外部都可以访问使用
C、局部变量也可以在函数外部使用
D、在函数内部要对全局变量进行修改,需要加上global声明
答案: C
局部变量是指在函数内部使用的变量,仅在函数内部有效,当函数使用过后,量从内存中释放。

82.关于Python函数的描述错误的是()√
A、函数内部使用的全局变量必须用global声明
B、Python支持可选参数传递,但没有默认值的参数必须定义在有默认值参数的左侧
C、Python函数可以没有retum语句,此时返回值为None
D、Python函数支持用名称传递参数
答案: A
函数内部使用全局变量无需声明,只有当需要改变全局变量时才需要声明;

83.关于Python程异常处理的描述,错误的选项是( )√
A、try. except等保留字提供异常处理功能
B、程序发生异常后经过妥善处理可以继续执行
C、异常语句可以与else和finally保留字配合使用
D、Python的异常和错误是完全相同的概念
答案: D
在Python语言中,利用try、 except、 finally和else保留字提供异常处理功能, 当发生异常时,可以通过except捕获异常,而不是直接退出程序,异常和错误是不同的概念。

84.以下代码的执行结果是( )×
m = ‘BeetHoven MoonLight’
a=0
b=0
fori in m:
if’A’<=i<= ‘Z:
a+= 1
elif’a’<=i<= ‘z’:
b+= 1
else:
break
print(a, b)
A、2 14
B、4 14
C、2 7
D、4 7
答案:选c
在循环中对m中的每一个字符进行判断, 在A到Z之间的字符,变量a值加一;在a到z之间的字符,变量b值加一;两个条件均不满足直接退出循环。观察m变量当遇到空格时,会退出循环,所以计算空格前的所有字符数量,其中大写字母2个,小写字母7个,输出结果为2 7

85.关于以下程序执行结果的描述,正确的选项是( )×
try:
f= open('data.txt", ‘W’)
ts = f.write()
print(“写文件正确”)
except:
print(文件操作错误")
A、输出"写文件正确"
B、无论data.txt文件是否存在,都输出"文件操作错误"
C、如果data.txt文件不存在,不输出"文件操作错误"
D、如果data .txt文件存在,不输出"文件操作错误"
答案: B
代码使用了异常捕获语句,在语句结构中,首先用写的方式打开文件data.txt,然后使用write()方法,因为没有参数,所以此处会直接产生异常,即会被except捕获异常并输出文件操作错误。
write()方法的括号里写入文件需要写入的内容,file1.write(“Hello World\n”)

86.关于循环结构的描述,错误的选项是( )√
A、for in range(4,n)中循环变量i的初值是4
B、循环条件中的空列表或空字符串等价于False
C、for in 'Hello world’的循环次数是11次
D、while循环结构的循环次数必须是确定的
答案: D
在循环结构中,遍历循环通常遍历多元素数据类型及range()函数,其中多元素数据类型的遍历次数与元素个数有关,range()函数有三个参数分别是开始位置,结束位置和步长,所以选项A、C正确;
无限循环中根据条件决定是否执行,当条件为一个数据的时候,会自动利用bool()函数计算 此数据的布尔值,针对列表、字符串等多元素数据类型,空数据布尔值即为False,所以B选项正确、D选项错误。本题选择D选项。

87.以下代码的执行结果是()√
k=5
def test(n):
global k
for i in range(n):
k+= i
return k
print(k,test(5))
A.程序运行错误
B、5 15
C、5 10
D、15 15
答案: B
观察题目中代码,首先定义了变量,然后创建了test()函数,此时函数尚末运行。在print()函数内运行了test()函数,此时传入参数5。在函数内使用globa修饰k变量,使得k值在函数内修改也能同步到全局变量,经过循环此时k值应为k=5+1+2+3+4=15最后retum将值返回到调用函数的位置。但是在输出的时候需要考虑到print()函数中,k在调用函数之前,所以是先确定K值再运行函数,那么即使global修饰了K,在调用函数之前的k值也不会变化,所以输出结果为5 15。

88.关于Python函数的描述,正确的选项是( )√
A、函数外部定义的列表变量,不可以在函数内部引用其值
B、函数内部定义的数字变量,可以在函数之外引用其值
C、函数有默认参数的时候,调用函数可以不给该参数赋值
D、函数内部定义的列表变量,可以在函数之外引用其值
答案: C
在Python语言中,函数外部定义的列表,在函数内部可以直接引用或者使用部分方法,所以A选项错误;函数内部定义的变量属于局部变量,不可以在函数外部使用,选项B、D错误。本题选择C选项。

89.以下代码的执行结果是( )√
Is= [‘try’]
def mtry(lt):
Itappend(Is)
return It
print(mtry(mtry(‘try’]))
A. [‘try, [‘try’]. [‘try’]]
B、[‘try’, ‘try’, ‘try’]
C、try try try
D、[[‘try’]. ['try’], [‘try’]]
答案: A
根据函数中代码可以知道,函数中是Is添加到参数([try]中,append()方法添加列表, 会将列表整体均作为元素添加到[‘try’]中

90.以下代码的执行结果是( )×
x= 99
a = list(range(100))
while X < len(a):
a= a[:x]
x-=1
if len(a) == 5:
break
print(a)
A、[0, 1……98, 99]
B、[0,1,2,3, 4]
C、[4,3,2, 1,0]
D、执行出错
答案: B
观察题目中代码,给x变量赋值为99,给a变量赋值it()函数转换range()函数生成的数据,range()函数生成从0到99共100个数字的数据 ,list()函数转换过后得到0到99的列表。 进入循环中,不停的将x的长度减1, 此时a每次切片赋值索引少1的数据,直到a的长度等于5时,此时因为每次切片是将最后一个元素删除,所以剩下的a是前5个元素,也就是[0,1,2,3,4]。

91.关于程异常处理的描述,错误的选项是()√
A、在进行关键计算时使用异常处理,如除0运算
B、在获得用户输入时使用异常处理,避免输入格式异常
C、在读取文件时使用异常处理,避免文件读取异常
D、在所有运算中都应该使用异常处理,避免程序任何可能的错误
答案: D
Python中的异常处理机制是防止程序因某些非编程原因的错误导致程序终止,或者在可能出现异常的代码处增加处理机制。一般来说程序段无需增加异常处理机制。

92.关于while循环的描述,正确的选项是()√
A、while循环可以实现无限循环
B、while循环不能实现计数循环
C、while循环与遍历循环等效
D、while循环不能用于函数内部
答案:A
for循环被称作遍历循环,while循环被称作无限循环, 所有的for循环都可以用while循环改写,循环语句可以在Python程序的程序段中使用。

93.关于函数的描述,正确的选项是( )×
A、每个递归函数都只能有一个基例
B、一个函数中只允许有一条retum语句
C、定义函数和调用该函数的代码可以写在不同的Python程序里
D、每个函数都必须有returm语句
答案: C
递归函数可以有多个基例,A选项错误;
函数内可以存在0条、1条或多条return语句,B、D选项错误;
调用函数的代码可以在另一个Python程序中,只要导入定义函数的模块即可,C选项正确。本题选择C选项。

94.以下代码的执行结果是()×
def func(m, n):
m= 2
s=m*n
return s
m= 5
n=2
print(func(5, 2))
A、10
B、4
C、25
D、5
答案: B
创建函数传递两个参数,然后设置局部变量m为2,计算出s的值并作为返回值,后续程序创建全局变量m和n,然后调用函数输出返回值。传递m和n进入函数内,因为函数内将m的值赋值为2,n的值使用的是形参2,所以计算得s为4,所以执行结果为4。

95.以下代码不可能的执行结果是()√
import random
def func(n):
if n==1 or n ==2:
return 1
else:
return random.randint(1,n-1)
print(func(10))
A、3
B、2
C、1
D、10
答案: D
先导入random库,然后创建函数,在函数内编写分支语句,判断n的值,当n为1或者2的时候返回1,否则就返回1到n-1之间的随机整数,因为调用函数传入了10,所以不满足条件,返回1到9之间的随机整数,则10不可能是执行结果。本题选择D选项。

  • 48
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值