1.定义以下函数,其中f为所需要传入的函数。
def test(f, a, b):
print(f(a, b))
则执行语句 test((lambda x,y: x ** 3 + y), 2, 3)的输出结果是哪个选项?
f(a, b) = lambda x,y: x ** 3 + y 参数a,b = x, y =2,3
所以2**3+3=11
2.若k为整型,下述while循环执行的次数为多少次?
k = 50
while k > 1:
print(k)
k = k // 2
print(k)执行几次,while循环几次。
k = 50, while k > 1: print(k) 执行一次,k = k // 2取整, k=25
k = 25, while k > 1: print(k) 执行一次,k = k // 2取整, k=12
k = 12, while k > 1: print(k) 执行一次,k = k // 2取整, k=6
k = 6, while k > 1: print(k) 执行一次,k = k // 2取整, k=3
k = 3, while k > 1: print(k) 执行一次,k = k // 2取整,k=1
k = 1, while k > 1: False,结束
3.定义函数如下:
def my_power(x, n = 2):
s = 1
while n > 0:
n -= 1
s = s * x
return s
分别对该函数传递参数,调用my_power(-3)和my_power(3, 3)后运行结果分别是什么?
my_power(-3)时,x=-3,n=2
while 2 > 0: n = 2-1=1, s = 1(-3)
while 1 > 0: n = 1-1=0, s = (-3)(-3)=9
while 0 > 0: False
my_power(3, 3)时,x=3,n=3
while 3 > 0: n = 3-1=2, s = 13
while 2 > 0: n = 2-1=1, s = 33=9
while 1 > 0: n = 1-1=0, s = 333=27
while 0 > 0: False
4.执行以下代码会产生哪一种异常?
>>> a = 3
>>> print(a ** b)
NameError: name 'b' is not defined
typeerror:函数或方法接受了不适当的【类型】的参数,
sum('nick')
TypeError: unsupported operand type(s) for +: 'int' and 'str'
valueerror:函数或方法虽然接受了正确的【类型】的参数,但是该参数的【值】不适当
int('nick')
ValueError: invalid literal for int() with base 10: 'nick'
a = list(range(1,11))
print(a)
print(a[15])
IndexError: list index out of range
5.已知有如下代码:
>>> import random
>>> random.______()
执行后产生的随机数始终在[0, 1.0)之间,请问它可能是random库中的哪一个函数?
Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。
random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0
random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。
random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b
random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。
其他详情见https://www.cnblogs.com/twilight77/p/7675512.html>
is作为比较运算符,x is y其含义是比较x是否是y的子类。 ——错误!
Python中的对象包含三要素:id、type、value。其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值。is判断的是a对象是否就是b对象,是通过id来判断的。
(obj1 is obj2) 等价于 (id(obj1) == id(obj2))>
对于不兼容类型的比较,例如对一个整型值和一个字符串比较大小,因为这种比较从数学含义上看一般是没有意义的,所以在Python 3中已经不支持不兼容类型对象的比较。
对于不兼容类型的比较,例如对一个整型值和一个字符串比较大小,因为这种比较从数学含义上看一般是没有意义的,所以在Python 3中已经不支持不兼容类型对象的比较。 ——正确!
标准的布尔值为0(表示假)和1(表示真),实际上语句True==1的结果就是True。 ——正确!
None,0, [],{} 这些值在作为布尔表达式的时候,都会被解释器看作假(False)。——正确!
8.请写出如下程序的执行结果。
s = 0
for i in range(1, 11):
if i % 2 == 0:
continue
if i % 10 == 5:
break
s = s + i
print(s)
当i = 1时,1%2 = 1,1%10 = 1, s = 0+1=1
当i= 2时,2%2 = 0,continue至i = 3
当i =3时,3%2 = 1,3%10 = 3,s = 1+3=4
当i =4时,4%2 =0,continue至i = 5
当i =5时,5%2 =1,5%10 = 5,break,循环结束。