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

简介: 牛客网专项练习30天Pytnon篇第25天

1.Python3执行以下程序,输出结果为:(C)

def outer():
  def inner():
  print('inner',end=" ")
  print('outer',end = " ")
  return inner
outer()

A.inner outer  


B.inner  


C.outer  


D.outer inner


解析:


      调用函数outer,会输出outer并且返回值是inner函数,inner并没有调用,因此不会执行inner函数的语句块。


2..Python3如下代码,执行结果为:(A)

def f(x):
  if x == 0:
  return 0
  elif x == 1:
  return 1
  else:
  return (x*f(x-1))
print(f(5))

A.120


B.720


C.24


D.64


解析:


      Python的递归题,解题思路一样的,求5的阶乘,也就是5!=5*4*3*2*1=120


3..Python3执行下面代码,请问输出结果为(A)

name = "顺顺"
def f1():
  print(name)
def f2():
  name = "丰丰"
f1()
f1()
f2()

A.顺顺 顺顺


B.丰丰  丰丰


C.顺顺 丰丰


D.丰丰  顺顺


解析:


      首先f1()相当于调用两次f1()函数,由于f1()函数体内没有局部变量name,所以引用全局变量name,故打印两次“顺顺”;f2()函数体内有局部变量name所以f2()函数体内优先使用局部变量name,因f2()函数内没有打印输出,所以不会打印f2()结果。


4..Python3执行下面代码,请问输出结果为:(D)

counter = 1
def number():
  global counter
  for i in (1, 2, 3):
  counter += 1
number()
print(counter)

A.1


B.2


C.3


D.4


解析:


      在变量前加global代表修改的是全局变量, 原counter=1,三次循环+1故=4, 函数执行完,全局变量被修改=4。


5..Python3执行以下代码,结果输出为:(A)

num = 1
def fn():
  num += 1
  return lambda:print(num)
x = fn()
x()

A.报错


B.1


C.None


D.2


解析:


      虽然在函数外部声明num 为全局变量,但若函数体内对num变量重新赋值,其结果会使得函数内部屏蔽了外面的全局变量num,此时语句num += 1就会抛出异常,即num变量没有先赋值就直接引用。


相关文章
|
11月前
|
JavaScript 数据格式
vue3 + Ant design vue formItem 无法使用嵌套的form表单校验
vue3 + Ant design vue formItem 无法使用嵌套的form表单校验
833 1
|
关系型数据库 MySQL 数据库
Docker Dockerfile 使用方法
当使用Docker构建容器化应用程序时,Dockerfile是一个用于定义容器镜像的文本文件。它包含了一系列指令,告诉Docker如何从基础镜像(通常是官方或自定义的操作系统镜像)构建出最终的镜像,以及如何配置容器中的环境、文件和应用程序。 Dockerfile 的编写是构建容器的基础,它允许您定义容器的构建步骤、环境和配置。通过合理使用各种指令,您可以构建出一个满足应用程序需求的定制化镜像,从而实现应用的容器化部署。
181 1
|
搜索推荐 开发者
【Uniapp 专栏】探究 Uniapp 组件化开发的奥秘
【5月更文挑战第12天】Uniapp的组件化开发模式正引领移动应用开发潮流,提升开发效率并简化维护。通过将应用拆分为独立、可复用的组件,开发者能快速构建和优化功能,降低出错风险。基础组件满足基本需求,自定义组件则针对特定业务场景。Uniapp提供简洁的组件定义、通信支持及组件库管理,促进数据共享和功能协同。然而,组件设计需考虑通用性、扩展性和依赖管理。组件化开发在Uniapp中日益重要,为开发者创造更多价值,激发创新潜力。
178 4
【Uniapp 专栏】探究 Uniapp 组件化开发的奥秘
|
程序员 编译器 C语言
C++中的 throw详解
在 C++ 中,异常处理遵循"抛出-检测-捕获"的流程。异常必须通过 `throw` 显式抛出,例如 `throw 100;` 可以抛出整数类型的异常。动态数组可以通过自定义的 `Array` 类实现,当访问越界或空数组时,会抛出 `OutOfRange` 异常。`throw` 关键字也可用于函数异常规范,指定函数可能抛出的异常类型。然而,C++11 后不再推荐使用异常规范,因为它们可能导致编译器行为不一致。
258 4
|
C语言
C语言----函数(2)
C语言----函数
110 0
|
XML 存储 Java
五分钟实现pdf分页
抱歉也开始用了这么“标题党”的标题。事情起源于前几天需要把个人资料的pdf文档一页一页的拆出来,好传到相关的网站上。直接截图到word再转pdf比较麻烦,所以想用工具直接转换。结果找了几个pdf阅读器,这类操作都需要会员或收费。作为一名程序员,这么简单的操作还要收费显然是一种羞耻(当然我是不会承认主要是因为qiong的),几分钟就可以代码解决的问题为啥要花钱呢?废话不多说,开搞。
388 0
|
架构师 Java 测试技术
这7种UML图的画法每个程序员都应该掌握~
这7种UML图的画法每个程序员都应该掌握~
881 0
|
安全 开发工具 git
【ADCS系列】ESC8 ADCS Relay
由于ADCS的http证书接口没有启用NTLM中继保护,因此其易受NTLM Relay攻击。而且Authorization HTTP 标头明确只允许通过 NTLM 身份验证,因此Kerberos协议无法使用。因此,攻击者可以利用NTLM Relay攻击ADCS证书服务
854 0
|
Shell Linux 开发工具
Windows下如何使用tree命令生成目录树
熟悉Linux的人应该对tree命令不陌生,可以使我们对指定目录制作一种目录树的形式,就像下面这种形式。
1695 0
|
消息中间件 Java Maven
手撸了一个starter,同事直夸我666~
手撸了一个starter,同事直夸我666~
226 0
手撸了一个starter,同事直夸我666~