选择题 共25道
判断题 共10道
编程题 共3道
运行如下代码,若输入整数3,则最终输出的结果为?( )
def f(x):
if x==1:
s=1
else:
s=f(x-1)*x
return s
n=int(input("请输入一个大于1的整数:"))
print(f(n)+f(n-1))
运行下列程序,输出的结果是?( )
def fun(x):
if x > 3:
return x * fun(x-1)
return x
print(fun(6))
下列关于递归的描述不正确的是?( )
def fun(a, n):
s = 0
for i in range(1, n+1):
temp = str(a)*i
s += int(temp)
print(fun(1, 3))
def fun(a, b):
a = a[::-1]
for i in range(len(a)):
s += int(a[i])*b**i
print(fun('45', 16))
一个荷花池,第一天荷花开放得很少,第二天开放的数量是第一天的两倍,之后的每一天,荷花都会以前一天两倍的数量开放。如果到第30天,荷花就开满了整个池塘,设第一天开一朵,编程求第30天共开了多少朵荷花。下面空白处的代码填写正确的是?( )
t = 1
for i in range(1, ① ):
s += t
②
print(s)
解决下列问题时,时间复杂度最大的是?( )
以下关于分治算法的描述正确的是?( )
下列选项中哪一项使用了分治算法?( )
不超过20个元素的降序数列,使用对分查找能找到指定的元素,可能的查找次数不包括?( )
下面程序段的输出结果是?( )
def add_Run(L=None):
if L is None:
L = ['Lying']
L.append('Run')
return L
add_Run()
print(add_Run())
print(add_Run(['Lying']))
下面关于计数器的程序,输出结果正确的是?( )
count = 0
def increment():
global count
count += 1
print("计数器的值:", count)
increment()
下列程序段的输出结果是?( )
L = []
x = 3
def test(x):
L.append(x)
x = 5
test(x)
print('L = {}, x = {}'.format(L, x))
以下程序,运行程序输出结果正确的是?( )
def demo(x):
return x*2
print(demo(demo(1)))
Python使用下列哪个函数接收用户输入的数据?( )
下面程序段的输出结果正确的是?( )
def power():
x ='python'
y = 'world'
z = x + " " + y
return z
print(power())
下列关于Python函数的描述中,不正确的是?( )
关于以下代码的描述中,正确的是?( )
#求两个正方形的面积差
def MianJiCha(a,b):
s=a**2-b**2
a=5
b=10
c=MianJiCha(b,a)+a
下列关于Python函数的说法中,错误的是?( )
下列选项中,调用下列代码定义的函数时,程序会报错的是?( )
def ShuChu(a,b,c):
print(c,b,a)
下列选项中,调用以下代码定义的函数时,程序会报错的是?( )
def kp(a,b,c):
print(a,b,c)
下列代码的输出结果是?( )
>>>s=lambda m,n:m*n
>>>s(6,6)
以下函数定义错误的选项是?( )
用于安装Python第三方库的工具是?( )
编程时,如果只需要导入某第三方库中的某个成员,需要使用到的关键字是?( )
若某个问题既能用递归算法求解,又能用递推算法求解,则使用递归方法求解更容易,效率也高得多。( )
如下代码因为递归的边界条件设置错误,产生了无限递归程序报错。( )
def fun(n):
if n > 10:
return 0
return n + fun(n-1)
print(fun(10))
算法的时间复杂度与空间复杂度没有必然关系。( )
已知有n本按照书名拼音排序好的图书,使用对分查找法搜索其中任何一本书,最多查找次数为4次,则n的值有可能为10。( )
函数定义语句def f(c=1,d=2,a,b):是正确的,因为默认值形参要放在前面。( )
return语句可以返回任何数据类型的值,包括整数、浮点数、字符串、列表、元组、字典等。( )
def ZiDian(**kwargs):
print(kwargs)
ZiDian(a=1)
运行上面的代码后,输出结果为{'a':1}。( )
以下代码可以正常运行,输出8。( )
def qh(a,b=3):
print(a+b)
qh(b=2,6)
代码>>>lambda:x=2,y=3:x+y 的运行结果是5。( )
使用pip install --upgrade numpy命令能够升级numpy科学计算库。( )
数的分解
给出一个正整数a,要求分解成若干个正整数的乘积,即a=a1×a2×a3×...×an,并且1<a1≤a2≤a3≤...≤an,问这样分解的种类有多少。注意到a=a也是一种分解。
例如,8可以分解成8=2*2*2,8=2*4,8=8总共3种。
代码如下,完善划线处的代码:
def fun(x, y=2):
if x == 1:
global ans
①
for i in range(y, x+1):
if ② :
fun(x//i,i)
lst = [2, 8, 9, 20] #测试数据
for i in lst:
ans = 0
③
print(ans)
程序运行结果如下:
1
3
2
4
购物组合
小明单位发了100元的购物卡,小明到超市买三类洗化用品:洗发水(15元)、香皂(2元)、牙刷(5元)。要把100元正好花掉,可有哪些购买组合?
def gouwu(money):
for i in range(0,money//15+1):
for j in range(0,money//2+1):
for k in range(0, ① ):
print('可选择的购买组合:\t购买洗发水 {} 瓶,香皂 {} 块,牙刷 {}个。'.format( ③ ))
gouwu(100)
回文素数
回文素数是指一个不小于11的自然数n从左向右和从右向左读,其结果值相同且是素数,即称n为回文素数。一种求解的方法是先判断一个自然数是否为回文数,再判断它是否为素数。如果两个判断都成立,则该自然数是回文素数。请补全代码,找出自然数1000以内的所有回文素数。
#判断是否为素数
def ① (n):
for i in range(2,n):
break
return True
#判断是否为回文数
def HuiWenShu(n):
n=str(n)
if n== ③ :
return False
for i in range(11,1001):
if ZhiShu(i)==True ④ :
print('{}是回文素数!'.format(i))