《Python程序设计》第6次作业
一、单选题(共10题,50分)
1、以下内容关于函数描述正确的是?
A、 函数用于创建对象
B、 函数可以让程序执行的更快
C、 函数是一段代码用于执行特定的任务
D、 以上说法都是正确的
正确答案:
解析:
2、x = True
def printLine(text):
print(text, 'Runoob')
printLine('Python')
以上代码输出结果为?
A、 Python
B、 Python Runoob
C、 text Runoob
D、 Runoob
正确答案:
3、如果函数没有使用 return 语句,则函数返回的是?
A、 0
B、 None 对象
C、 任意的整数
D、 错误! 函数必须要有返回值。
正确答案:
解析:
4、def greetPerson(*name):
print('Hello', name)
greetPerson('Runoob', 'Google')
以上代码输出结果为?
A、
Hello Runoob
Hello Google
B、 Hello ('Runoob', 'Google')
C、 Hello Runoob
D、 错误!函数只能接收一个参数。
正确答案:
解析:
5、关于递归函数, 描述正确的是( )?
A、 递归函数不能调用标准函数。
B、 递归函数用于调用函数的本身。
C、递归函数除了函数本身,可以调用程序的其他所有函数。
D、 Python 中没有递归函数。
正确答案:
解析:
6、下面是个自定义递归函数:
def Foo(x):
if (x==1):
return 1
else:
return x+Foo(x-1)
print(Foo(4))
以上代码输出结果为?
A、 10
B、 24
C、 7
D、 1
正确答案:
解析:
7、result = lambda x: x * x
print(result(5))
以上代码输出结果为?
A、 lambda x: x*x
B、 10
C、 25
D、 5*5
正确答案:
解析:
8、如果我们需要从 math 模块中输出 pi 常量,以下代码正确的是?
A、 print(math.pi)
B、 print(pi)
C、from math import pi
print(pi)
D、from math import pi
print(math.pi)
正确答案:
解析:
9、以下哪个符号用于从包中导入模块?
A、 .
B、 *
C、 ->
D、 ,
正确答案:
解析:
![]()
10、#程序示例 画方程 y = 图像
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,1,50) #从(-1,1)均匀取50个点
y = 2 * x
plt.plot(x,y)
plt.show()

输出图像(上图)
阅读上面程序,选择正确的选项( )。
A、 上面程序功能,画出的是 y=x*x 的 图像
B、 上面程序功能,画出的是 y=x+2 的 图像
C、 上面程序功能,画出的是 y=2x 的 图像
D、 上面程序功能,画出的是 y=x 的 图像
正确答案:
二、填空题(共4题,20分)
1、
math库是Python提供内置数学类函数库,一共提供了4个数学常数(如:math.pi )和44个函数。
44个函数分为4类,包括:16个数值表示函数(如:math.fabs(x),math.fmod(x,y),math.fsum([x,y,…]),math.gcd(a,b) 等)8个幂对数函数(如:math.pow(x,y),math.exp(x),math.expml(x),math.sqrt(x),等)、16个三角对数函数(math.degree(x),math.radians(x),math.hypot(x,y),math.sin(x)等 )和四个高等特殊函数。
如何使用模块?
·
方式一:import 模块名
·
·
方式二:from 模块库名 import 模块名
·
导入库:import math
例如:函数gcd()是用来求a与b的最大公约数,输出16与12的最大公约数的代码是:print(math.gcd(16,12)。
Python标准库math中用来计算平方根的函数是( )。输出567的平方根的代码是( ).
提示:计算平方根的函数sqrt() ,输出81的平方根的代码: print(math.sqrt(81))
正确答案:
第1空:
第2空:
解析:
2、下面程序的输出结果是( )。
def fib(n):
a,b=1,1
while a<n:
print(a,end=' ')
a,b=b,a+b
return
fib(7)
正确答案:
第1空:
3、运行下面程序,输出结果是: f1的值为( ),f2的值为( )f3,的值为( )。
def f(x,y=5,z=6):
t=x*y-z
return t
f1=f(2)
f2=f(2,3,4)
f3=f(z=2,y=3,x=4)
print(f1,f2,f3)
正确答案:
第1空:
第2空:
第3空:
解析
4、#运行下面程序,输出结果时,f1的值是( ),a 的值是( )。若删除语句 global a,此时输出a 的值是( )
def f():
global a
a=2
b=3
return a+b
a=8
f1=f()
print(f1,a)
正确答案:
第1空:
第2空:
第3空:
三、判断题(共6题,30分)
1、函数是对程序逻辑进行过程化和结构化的一种方法。有了函数,可将大块的代码巧妙合理地隔离成容易管理和维护的小块。
函数定义语法格式如下所示:
def function_name(arguments):
function_block
例:
def Home(k=10):
for h in range(k):
print("\n")
正确答案:
2、Python使用lambda来创建匿名函数。
ambda只是一个表达式,函数体比 def 简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
例:
00001.
def square(x):
00002.
00003.
return x ** 2
00004.
00005.
00006.
00007.
print(list(map(square, [1, 2, 3, 4]))) #加入list(), 实现返回列表
00008.
#输出结果: [1, 4, 9, 16]
#使用 lambda 来创建匿名函数
print(list(map(lambda x: x ** 2, [1, 2, 3, 4]))) # 使用 lambda 匿名函数
#输出结果: [1, 4, 9, 16]
注:map( ) 参数会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
正确答案:
3、在Python中,闭包指函数的嵌套。可以在函数内部定义一个嵌套函数。
示例:
def func_lib():
def add(x, y):
return x+y
return add # 返回函数对象
fadd = func_lib()
print(fadd(1, 2))
正确答案:
4、函数在执行的过程中直接或间接调用自己本身,称为递归调用。
Python语言允许递归调用。
示例:
def f(x):
if x==1: #递归调用结束的条件
return 1
else:
return(f(x-1)+x*x) #调用f( ) 函数本身
print(f(5))
正确答案:
5、内置函数(built-in functions)又称系统函数,或内建函数,是指Python本身所提供的函数,任何时候都可以使用。
Python常用的内置函数有数学运算函数、类型转换函数和反射函数等。想要查所有内置函数名可以在python命令行方式中如下输入:
>>> dir(__builtins__)
正确答案:
6、形参全称是形式参数,在用def关键字定义函数时函数名后面括号里的变量称作为形式参数。实参全称为实际参数,在调用函数时提供的值或者变量称作为实际参数。例如:
#这里的a和b就是形参
def add(a,b):
return a+b
#下面是调用函数
add(1,2) #这里的1和2是实参
正确答案:

