牛客网专项练习30天Pytnon篇第27天

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 牛客网专项练习30天Pytnon篇第27天

1.Python函数如下,则输出结果为:(A)

def chanageList(nums):
    nums.append('c')
    print("nums", nums)
str1 = ['a', 'b'] 
chanageList(str1)
print("str1", str1)

A.nums ['a', 'b', 'c'],str1 ['a', 'b', 'c']


B.nums ['a', 'b', 'c'],str1 ['a', 'b']


C.nums ['a', 'b'],str1 ['a', 'b']


D.nums ['a', 'b'],str1 ['a', 'b','c']


解析:


      在调用chanageList()函数时,str1 作为参数传入该函数后执行 append()函数添加字符 ‘c’,虽然传递给变量nums但其表示的就是str1,因此A正确。


2.以下程序输出为:(A)

def w1():
  print('正在装饰')
  def inner():
  print('正在验证权限')
  return inner()
w1()

A.正在装饰 正在验证权限  


B.正在装饰


C.正在验证权限


D.运行错误


解析:


      w1()首先执行内部自身打印输出打印“正在装饰”,然后w1()调用inner(),执行inner()内部打印输出打印“正在验证权限”;最终分别打印正在装饰和正在验证权限。


3.执行以下程序,结果输出为:(A)

a = [1]
b = 2
c = 1
def fn(lis,obj):
  lis.append(b)
  obj = obj + 1
  return lis,obj
fn(a,c)
print(fn(a,c))

A.([1, 2, 2], 2)


B.([1, 2, 2], 3)


C.([1, 2], 2)


D.([1, 2], 3)


解析:


      当参数为可变对象时,传参采用的是引用传递,修改形参将对实参造成影响;当参数为不可变对象时,传参采用的是值传递,修改形参对实参无影响,实参a为可变对象,实参c为不可变对象,故选项A正确。


4.执行以下程序,输出结果为:(A)

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.无输出


解析:


      装饰器的一个关键特性是,它在被装饰函数定义后被立即执行,因此运行装饰函数outer,输出结果为outer,内部函数inner没有调用,不会输出任何结果,被装饰函数同样也不会运行,故A选项正确。


5.如下程序的运行结果为:(A)

def func(s, i, j):
  if i < j:
  func(s, i + 1, j - 1)
  s[i],s[j] = s[j], s[i]
def main():
  a = [10, 6, 23, -90, 0, 3]
  func(a, 0, len(a)-1)
  for i in range(6):
  print(a[i],end = ' ') 
main()

A.3 0 ‐90 23 6 10


B.3 0 ‐60 23 6 10


C.6 10 3 0 ‐90 23


D.6 10 3 0 -23 23


解析:


      首先调用main() 函数内,已经定义了一个列表 a ,传入到func函数内,第一次传入的参数中  i,j 分别代表列表的首位、末尾值。即i = 0 ,j = 5  此时满足  i<j ,则此时调用 满足的条件 ,又调用func ,此时传入的参数为 a、1,4 。这时需要执行函数,而不能往下执行,即暂不可执行第一次的 交换元素 s[0],s[5] = s[5],s[0];执行内部函数 func(a,1,4)  则也满足 1<4  此时还需要再调用 func(a,2,3) .暂不执行 s[1],s[4]] =  s[4],s[1];再执行内部函数 func(a,2,3) ,还是满足2<3 此时还需要再调用 func(a,3,2) .暂不执行 s[2],s[3]] =  s[3],s[2];再执行内部函数func(a,3,2),此时不满足 3<2 . 即不执行任何内容。此时内部循环函数全部结束。再往上推;上一步内部函数执行完后,则执行交换s[2],s[3]] =  s[3],s[2]. 再往上推;s[1],s[4]] =  s[4],s[1],再往上推;s[0],s[5] = s[5],s[0] 。即全部func结果结束。即交换了各个位置的元素。第一个变成最后一个、第二个变成倒数第二个、第三个变成倒数第三个。原来的 a = [10,6,23,-90,0,3],交换后的 a = [3,0,-90,23,6,10],for循环打印出a列表元素,故选项A正确。


相关文章
|
Python
牛客网专项练习30天Pytnon篇第01天
牛客网专项练习30天Pytnon篇第01天
59 1
|
Python
牛客网专项练习30天Pytnon篇第07天
牛客网专项练习30天Pytnon篇第07天
85 0
|
索引 Python
牛客网专项练习30天Pytnon篇第10天
牛客网专项练习30天Pytnon篇第10天
80 0
|
机器学习/深度学习 索引 Python
牛客网专项练习30天Pytnon篇第06天
牛客网专项练习30天Pytnon篇第06天
63 0
|
Python
牛客网专项练习30天Pytnon篇第05天
牛客网专项练习30天Pytnon篇第05天
57 0
|
网络协议 Python
牛客网专项练习30天Pytnon篇第09天
牛客网专项练习30天Pytnon篇第09天
86 0
|
索引 Python
牛客网专项练习30天Pytnon篇第14天
牛客网专项练习30天Pytnon篇第14天
67 0
|
C语言 索引 Python
牛客网专项练习30天Pytnon篇第29天
牛客网专项练习30天Pytnon篇第29天
174 0
|
Python
牛客网专项练习30天Pytnon篇第23天
牛客网专项练习30天Pytnon篇第23天
85 0
|
安全 Python
牛客网专项练习30天Pytnon篇第30天
牛客网专项练习30天Pytnon篇第30天
146 0