Python练习之函数和代码复用(二)

来自CloudWiki
跳转至: 导航搜索

26

下面代码的输出结果是‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

def func(a,b):
    return a>>b
s = func(5,2)
print(s)

A 1

B 12

C 20

D 6

27 下面代码的输出结果是‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

def func(a,b):
    a *= b
    return a
s = func(5,2)
print(s)

A 12

B 10

C 1

D 20

28 下面代码的输出结果是‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

def f2(a):
    if a > 33:
        return True
li = [11, 22, 33, 44, 55]
res = filter(f2, li)
print(list(res))

A [33,44,55]

B [44,55]

C [22,33,44]

D [11,33,55]

29下面代码的输出结果是 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

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 13

C 5

D 21


30下面代码的输出结果是 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

def hello_world():
    print('ST',end="*")
def three_hellos():
    for i in range(3):
        hello_world()
three_hellos()

A ST*

B ***

C ST*ST*ST*

D ST*ST*

31下面代码的输出结果是‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

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 10

C 20 20

D 10 10

32下面代码的输出结果是‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

MA = lambda x,y :  (x > y) * x + (x < y) * y
MI = lambda x,y :  (x > y) * y + (x < y) * x
a = 10
b = 20
print(MA(a,b))
print(MI(a,b))

A 20 10

B 10 10

C 20 20

D 10 20

33关于下面的代码,以下选项中描述正确的是‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

>>> list(range(0,10,2))

A 执行结果为0, 2, 4, 6, 8

B 按位置参数调用

C 按可变参数调用

D 按关键字参数调用

34关于下面代码,以下选项中描述正确的是 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

def fact(n, m=1) :
    s = 1
    for i in range(1, n+1):
        s *= i
    return s//m
print(fact(m=5,n=10))

A 执行结果为10886400

B 按位置参数调用

C 参数按照名称传递

D 按可变参数调用

35关于函数的返回值,以下选项中描述错误的是 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬ A 函数可以返回0个或多个结果

B return可以传递0个返回值,也可以传递任意多个返回值

C 函数可以有return,也可以没有

D 函数必须有返回值

36 关于函数局部变量和全局变量的使用规则,以下选项中描述错误的是 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬ A 可以通过global保留字在函数内部声明全局变量

B 对于基本数据类型的变量,无论是否重名,局部变量与全局变量不同

C 对于组合数据类型的变量,如果局部变量未真实创建,则是全局变量

D return不可以传递任意多个函数局部变量返回值

37关于函数,以下选项中描述错误的是 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬ A 函数主要通过接口(interface)与外界通信,传递信息

B 函数:具有特定功能的可重用代码片段,实现解决某个特定问题的算法

C 函数使用时需要了解函数内部实现细节

D 函数在需要时被调用,其代码被执行

38关于函数的目的与意义,以下选项中描述错误的是 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬ A 函数能调用未实现的函数

B 程序功能抽象,以支持代码重用

C 使用时无须了解函数内部实现细节

D 有助于采用分而治之的策略编写大型复杂程序

39关于函数,以下选项中描述错误的是 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬ A 函数定义语句可执行

B 函数名称不可赋给其他变量

C 函数也是数据

D 一条函数定义定义一个用户自定义函数对象


40关于函数的参数传递(parameter passing),以下选项中描述错误的是

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬ A Python参数传递时不构造新数据对象,而是让形式参数和实际参数共享同一对象

B 实际参数是函数调用时提供的参数

C 函数调用时,需要将形式参数传递给实际参数

D 形式参数是函数定义时提供的参数

41关于函数的关键字参数使用限制,以下选项中描述错误的是 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬ A 不得重复提供实际参数

B 关键字参数必须位于位置参数之前

C 关键字参数顺序无限制

D 关键字参数必须位于位置参数之后

42下面代码的输出结果是

a = 4
a ^= 3
b = a ^ 2
print(a,end=",")
print(b)


A 64, 4096

B 4,3

C 7,5

D 5,7

43执行下面代码,错误的是 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

def f(x, y = 0, z = 0): pass	# 空语句,定义空函数体

A f(1)

B f(1, , 3)

C f(1, 2)

D f(1, 2, 3)

44 执行下面代码,错误的是‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

def f(x, y = 0, z = 0): pass	# 空语句,定义空函数体

A f(1, y = 2, z = 3)

B f(1, x = 1, z = 3)

C f(z = 3, x = 1, y = 2)

D f(1, z = 3)

45执行下面的代码,以下选项中正确的是

 def f(x, y = 0, z = 0): pass	#  空语句,定义空函数体

A f(1, x = 1, z = 3)

B f(x = 1, 2)

C f(x = 1, y = 2, z = 3)

D f(1, y = 2, t = 3)

46关于嵌套函数,以下选项中描述错误的是

A


def f():
  print("Outer function f")
  def g():
    print("Inner function g")
  g()
f()	


B 嵌套函数是在函数内部定义函数

C 内层函数仅供外层函数调用,外层函数之外不得调用

D

def f():
  print("Outer function f")
  def g():
    print("Inner function g")
  g()
f.g()

47下面代码的执行结果是 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

>>> def area(r, pi = 3.14159):
        return pi * r *r
>>> area(pi = 3.14, r = 4)

A 50.24

B 出错

C 无输出

D 39.4384

48下面代码的执行结果是‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

>>> def area(r, pi = 3.14159):
        return pi * r * r
>>> area(3.14, 4)

A 39.4384

B 50.24

C 出错

D 无输出

49 下面代码的执行结果是‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

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

Hello,
('HTY', 'LFF', 'ZH')
{'schoolName': 'NJRU', 'City': 'Nanjing'}


B 无输出


C ['HTY', 'LFF', 'ZH']

D 出错

50下面代码的执行结果是‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

def greeting(args1, *tupleArgs, **dictArgs):
    print(args1)
    print(tupleArgs)
    print(dictArgs)
names = ['HTY', 'LFF', 'ZH']
info = {'schoolName' : 'NJRU', 'City' : 'Nanjing'}
greeting(*names,'Hello,',**info)

A 出错

B 无输出

C

HTY
('LFF', 'ZH', 'Hello,')
{'schoolName': 'NJRU', 'City': 'Nanjing'}

D

['HTY', 'LFF', 'ZH']