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

简介: 牛客网专项练习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正确。


相关文章
|
Web App开发 缓存 安全
电脑屏幕上的广告太多怎么解决?
安装一个广告拦截扩展或软件,如AdBlock Plus、uBlock Origin等。这些工具可以帮助拦截网页广告,在浏览器的扩展商店中搜索并添加这些扩展。例如,在Chrome中,你可以访问Chrome网上应用店来安装。
|
存储 弹性计算 负载均衡
阿里云服务器全方位介绍(产品优势、应用场景、使用须知等)
阿里云服务器全方位介绍(产品优势、应用场景、使用须知等)阿里云服务器是什么?云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,云服务器可以降低IT成本提升运维效率,免去企业或个人前期采购IT硬件的成本,阿里云服务器让用户像使用水、电、天然气等公共资源一样便捷、高效地使用服务器。阿里云服务器具有安全、稳定、弹性升降配、高性能、易用可扩展等优势
1512 0
|
机器学习/深度学习 人工智能 供应链
5G技术是第五代移动通信技术
5G技术是第五代移动通信技术
1052 7
|
算法 机器人 中间件
C++的主要优势是什么?
C++的主要优势是什么?
552 1
WK
|
算法 决策智能
粒子群算法的缺点是什么
粒子群算法(PSO)虽具优点,但存在明显缺点:易陷局部最优、收敛精度低、难解离散及组合优化问题、缺乏精密搜索方法、理论基础薄弱、参数选择困难、收敛速度受问题复杂度影响。为克服这些问题,研究者提出引入动态惯性权重、调整学习因子、混合算法等改进策略,提高算法性能与适用范围,但仍需进一步研究以应对更复杂多样的问题。
WK
854 0
|
供应链 安全 物联网
未来已来:新兴技术的融合趋势与创新应用
在数字化浪潮的推动下,新兴技术如区块链、物联网(IoT)、虚拟现实(VR)等正快速融合并重塑我们的世界。本文深入探讨了这些技术如何互相促进,创造出前所未有的应用场景,从而引领着技术发展的新方向。通过分析最新的科研数据和市场报告,我们将揭示这些技术融合背后的驱动力,并预测其在未来可能带来的革命性变化。
344 1
|
负载均衡 网络协议 数据安全/隐私保护
详解配置代理和IP设置的含义
详解配置代理和IP设置的含义
783 6
|
前端开发 JavaScript API
打造在线教育平台:Python后端与Vue前端的完美融合
【4月更文挑战第10天】本文探讨了如何利用Python后端与Vue前端构建功能强大、用户体验良好的在线教育平台。通过Python的Django或Flask框架搭建稳定API服务,结合Vue.js的组件化和数据驱动特性创建高效用户界面。步骤包括确定平台需求、构建后端、创建前端、前后端交互、实现认证授权、优化体验以及测试部署。这种技术融合为在线教育市场提供了一个高效、可扩展的解决方案,适应未来教育平台的智能化、个性化和多元化趋势。
665 1
|
数据采集 分布式计算 数据挖掘
数据收集与整合
数据收集与整合
350 2
|
JavaScript 前端开发 C#
什么是三元表达式?“三元”表示什么意思?
什么是三元表达式?“三元”表示什么意思?