Python第五周作业之选择题
- 1. 下面代码的运行结果是
- 2. 下面代码的输出结果是
- 3. 下面代码的输出结果是
- 4. 下面代码的输出结果是
- 5. 下面代码的输出结果是
- 6. 关于下面代码,以下选项中描述正确的是
- 7. 关于函数的返回值,以下选项中描述错误的是
- 8. 关于函数,以下选项中描述错误的是
- 9. 关于函数的目的与意义,以下选项中描述错误的是
- 10. 关于函数的参数传递(parameter passing),以下选项中描述错误的是
- 11. 执行下面代码,错误的是
- 12. 执行下面的代码,以下选项中正确的是
- 13. 下面代码的执行结果是
- 14. 下面代码的执行结果是
1. 下面代码的运行结果是
def func(num):
num+=1
a=10
func(a)
print(a)
A. int
B. 11
C. 10
D. 出错
正确答案:C
函数在传递参数时,指将实参复制给形参,并未对实参本身发生改变。
2. 下面代码的输出结果是
def func(a,b):
a*=b
return a
s = func(5,2)
print(s)
A. 10
B. 1
C. 20
D. 12
正确答案:A
实参按位置传递
3. 下面代码的输出结果是
def fib(n):
a,b =1,1
for i in range(n-1):
a,b=b,a+b
return a
print(fib(7))
A. 21
B. 13
C. 5
D. 8
正确答案:B
注意a,b = b,a+b并不等价于a=b b=a+b
4. 下面代码的输出结果是
ef hello_world():
print('ST',end="*")
def three_hellos():
for i in range(3):
hello_world()
three_hellos()
A. ST*ST*
B. ST*
C. ***
D. ST*ST*ST*
正确答案:D
本题为函数与函数之间调用,three_hello调用了3次hello_world函数,因此输出为ST* ST* ST*
5. 下面代码的输出结果是
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
正确答案:A
6. 关于下面代码,以下选项中描述正确的是
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. 按可变参数调用
B. 参数按照名称传递
C. 按位置参数调用
D. 执行结果为10886400
正确答案:B
fact(m =5,n =10),参数是按照名称传递的,注意m=5将覆盖m=1
7. 关于函数的返回值,以下选项中描述错误的是
A. 函数必须有返回值
B. return可以传递0个返回值,也可以传递任意多个返回值
C. 函数可以有return,也可以没有
D. 函数可以返回0个或多个结果
正确答案:A
函数返回值的个数可以任意,也可以没有返回值
8. 关于函数,以下选项中描述错误的是
A. 函数使用时需要了解函数内部实现细节
B. 函数在需要时被调用,其代码被执行
C. 函数:具有特定功能的可重用代码片段,实现解决某个特定问题的算法
D. 函数主要通过接口(interface)与外界通信,传递信息
正确答案:A
函数使用时可以不需要了解函数内部实现细节,只需要了解其功能以及接口的使用
9. 关于函数的目的与意义,以下选项中描述错误的是
A. 使用时无须了解函数内部实现细节
B. 程序功能抽象,以支持代码重用
C. 函数能调用未实现的函数
D. 有助于采用分而治之的策略编写大型复杂程序
正确答案:C
函数不能调用未完成的函数
10. 关于函数的参数传递(parameter passing),以下选项中描述错误的是
A. 形式参数是函数定义时提供的参数
B. Python参数传递时不构造新数据对象,而是让形式参数和实际参数共享同一对象
C. 函数调用时,需要将形式参数传递给实际参数
D. 实际参数是函数调用时提供的参数
正确答案:C
函数调用时,需要将实参传递给形参
11. 执行下面代码,错误的是
def f(x, y = 0, z = 0):
pass # 空语句,定义空函数体
A. f(1, y = 2, z = 3)
B. f(1, z = 3)
C. f(1, x = 1, z = 3)
D. f(z = 3, x = 1, y = 2)
正确答案:C
C选项中,没有y的参数,因此错误
12. 执行下面的代码,以下选项中正确的是
def f(x, y = 0, z = 0):
pass #空语句,定义空函数体
A. f(x = 1, y = 2, z = 3)
B. f(1, x = 1, z = 3)
C. f(x = 1, 2)
D. f(1, y = 2, t = 3)
正确答案:A
13. 下面代码的执行结果是
def area(r, pi = 3.14159):
return pi * r *r
area(pi = 3.14, r = 4)
A. 出错
B. 50.24
C. 39.4384
D. 无输出
正确答案:B
当实参是按参数名称传递参数,可以不按照位置顺序存放。因此area(pi = 3.14, r = 4)可能正确执行。最终输出为50.24
14. 下面代码的执行结果是
def area(r, pi = 3.14159):
return pi * r * r
area(3.14, 4)
A. 39.4384
B. 50.24
C. 无输出
D. 出错
正确答案:A
按位置参数传递,结果为39.4384
版权声明:本文为weixin_44579433原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。