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


相关文章
|
11月前
|
机器学习/深度学习 人工智能 编解码
ByteDance Research登Nature子刊:AI+冷冻电镜,揭示蛋白质动态
在生物医学领域,蛋白质的结构与功能研究至关重要。ByteDance Research团队开发的CryoSTAR软件,结合AI与冷冻电镜技术,通过深度学习模型、结构先验和异质性重构算法,成功解析了蛋白质的动态行为,尤其在处理结构异质性方面表现出色。该软件已在多个蛋白质体系中取得显著成果,如TRPV1通道蛋白的动态变化研究,为理解蛋白质功能及疾病机制提供了新思路。论文链接:https://www.nature.com/articles/s41592-024-02486-1
356 26
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
《主动式智能导购AI助手构建》体验建议
《主动式智能导购AI助手构建》体验建议
|
编解码 索引
RTMP 和 HLS 协议的优缺点
【10月更文挑战第26天】RTMP和HLS协议各有优缺点,在选择使用哪种协议时,需要根据具体的直播场景、观众群体、设备兼容性、服务器性能等因素进行综合考虑,以选择最适合的直播协议。
|
存储 并行计算 安全
C++多线程应用
【10月更文挑战第29天】C++ 中的多线程应用广泛,常见场景包括并行计算、网络编程中的并发服务器和图形用户界面(GUI)应用。通过多线程可以显著提升计算速度和响应能力。示例代码展示了如何使用 `pthread` 库创建和管理线程。注意事项包括数据同步与互斥、线程间通信和线程安全的类设计,以确保程序的正确性和稳定性。
276 5
|
运维 Kubernetes Serverless
直降算力成本!阿里云容器计算服务ACS正式商业化
阿里云容器计算服务ACS正式商业化,综合算力成本最高可降55%。容器计算服务ACS可实现算力资源的极限扩容,易用性也大幅提升50%,将有力承载未来暴涨的容器算力需求,推动用云范式更新升级。
393 9
|
机器学习/深度学习 人工智能 搜索推荐
人工智能在医疗领域的最新进展与伦理挑战
人工智能在医疗领域的最新进展与伦理挑战
|
算法 机器人 中间件
C++的主要优势是什么?
C++的主要优势是什么?
579 1
|
前端开发 JavaScript API
打造在线教育平台:Python后端与Vue前端的完美融合
【4月更文挑战第10天】本文探讨了如何利用Python后端与Vue前端构建功能强大、用户体验良好的在线教育平台。通过Python的Django或Flask框架搭建稳定API服务,结合Vue.js的组件化和数据驱动特性创建高效用户界面。步骤包括确定平台需求、构建后端、创建前端、前后端交互、实现认证授权、优化体验以及测试部署。这种技术融合为在线教育市场提供了一个高效、可扩展的解决方案,适应未来教育平台的智能化、个性化和多元化趋势。
701 1
|
数据采集 分布式计算 数据挖掘
数据收集与整合
数据收集与整合
371 2
|
安全 PHP 缓存
网站漏洞修复之Discuz X3.4远程代码执行漏洞
近期在对discuz x3.4进行全面的网站渗透测试的时候,发现discuz多国语言版存在远程代码执行漏洞,该漏洞可导致论坛被直接上传webshell,直接远程获取管理员权限,linux服务器可以直接执行系统命令,危害性较大,关于该discuz漏洞的详情,我们来详细的分析看下。
5590 0