2022/12/12牛客网python专项练习学习笔记

1、如下代码,执行结果为:

1

2

3

4

5

6

7

8

def f(x):

    if == 0:

        return 0

    elif == 1:

        return 1

    else:

        return (x*f(x-1))

print(f(5))

A  120

B  720

C  24

D  64

解析:

f(5) 得到 5* f(4) ,f(4)得到4*f(3),f(3)得到3*f(2),f(2)得到2*f(1), f(1) 得到 1,所以依次相乘,所得结果为,5*4*3*2*1=120

正确答案:A

2、下列程序运行结果为:

1

2

3

a=[12345]

sums = sum(map(lambda x: x + 3, a[1::3]))

print(sums)

A  10

B  13

C  15

D  17

解析:

首先,a[1::3]表示列表a中的元素,从位置1开始,步长为3,(结束位置没有说明,默认最后一个元素),得到 [2,5]。

其次,map(lambda x: x + 3,a[1::3]) 表示将列表 [2,5] 中的元素统一加3,得到 [5,8]

最后,sums = sum(map(lambda x: x + 3, a[1::3]))计算列表 [5,8] 中元素的总和,并输出。结果为13.

正确答案:B

3、在Python3中,关于字符串的运算结果为:

1

2

strs = 'abcd'

print(strs.center(10'*'))

A  'abcd'

B  '*****abcd*****'

C  '***abcd***'

D  ' abcd '



知识点普及:

str.center(width,'fillchar') 的作用是,返回一个长度为width,str 居中,两边用字符fillchar填充的字符串。( 注意:是包含fillchar 和字符 str 在内的总长度为width  )



解析:

strs.center(10'*')即为将strs居中,两边用 * 填充至长度为10 的字符串。

正确答案:C

4、在Python3中,下列说法正确的是:

1

2

sets = {12345}

print(sets[2])

程序运行结果为:

A  2

B  3

C  报错

D  {3}

解析:

print(sets[2])意为索引并输出集合sets中[2]位置的元素,但是集合并不能索引,所以报错。

正确答案:C

5、执行以下程序,输出结果为()

def outer(fn):

    print('outer')

    def inner():

        print('inner')

        return fn

    return inner

@outer

def fun():

    print('fun')

A   outer

B   inner

C   fun

D   因为没有调用任何函数,所以没有输出结果



知识点普及:

考察python 的 装饰器,

python装饰器是一种拓展用到的函数 功能 一种函数返回值也是一个函数

python装饰器的作用是在不修改原函数代码的前提下,为原函数添加新的功能



解析:

@outer 加在 def fun(): 前,表示为fun()函数增加函数outer 的功能,

装饰器还有一个关键特性是,他在被装饰函数定义后会立即执行,因此运行装饰函数outer,另外,内部函数inner并未被调用,不会输出任何结果,

正确答案:A

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值