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

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

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

def test(a,b,*args):
  print(a)
  print(b)
  print(args)
test(11,22,33,44,55,66,77,88,99)

A.11 22 (33, 44, 55, 66, 77, 88, 99)


B.编译错误


C.运行错误


D.11 22 (11,22,33, 44, 55, 66, 77, 88, 99)


解析:


      def test(a,b,*args),a,b位置参数;*args为不定长位置参数,传入的参数被放入一个元祖里。所以,a,b分别被赋值11、22,而其他的数被存到一个元组里。


2.有如下函数定义,执行结果正确的是:(A)

def dec(f):
  n=3
  def wrapper(*args,**kw):
  return f(*args,**kw)*n
  return wrapper
@dec
def foo(n):
  return n * 2

A.foo(2) == 12


B.foo(3) == 12


C.foo(2) == 6


D.foo(3) == 6


解析:


      调用函数foo(2)执行的过程:2*2*3=12;调用foo(2),执行wrapper(),wrapper()函数调用foo()函数,foo函数的返回值是2*2=4,回到wrapper函数4*3=12,返回值为12;把wrapper函数里面return f(*args,**kw) * n ,拆为两步走(先res=f(*args,**kw) * n 再return res)。


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

def fun(a,*,b):
    print(b)
fun(1,2,3,4)

A.[2,3,4]


B.[3,4]


C.报错


D.4


解析:


      当函数的的形参单独为*时,它并不属于未匹配的位置参数,而是表示后面的参数必须使用关键字参数进行匹配,所以这里会抛出异常。参数的顺序应该是(位置参数,默认参数,位置不定长参数,关键字不定长参数);如果你希望强迫调用者使用某些参数,且必须以关键字参数的形式传参,那么你只需要在所需位置的前一个位置放置一个*。 def f1(a, *, b, c): return a + b + c 对于上面这个函数而言,调用时参数a可以任意值, 但b,c参数一定要以关键字参数的形式传参,如fun(1, b=4, c=5),否则将会报错。


4.下面这段程序的功能是什么:( A )

def f(a, b):
    if b == 0:
        return a
    else:
        return f(b, a%b) 
a,b = map(int,input("Enter two natural numbers:" ).split())
print(f(a, b))

A.求ab最大公约数


B.求ab最小公倍数


C.求a%b


D.求a/b


解析:    


      a%b是求余数 碾转相除法,又称欧几里得函数,以除数和余数反复做除法运算,当余数为0时,取当前算式除数为最大公约数。假设a = 27, b = 18 即 f(a, b)=f(27, 18); if不成立,进else; f(b, a%b)=f(18, 27%18)即f(18, 9); 没有达到退出的条件,再调f(18, 9); f(b, a%b) = f(9, 18%9)即f(9, 0); b=0,if成立,输出a=9 即只有在a%b=0的时候,条件才成立,输出a。


5.python变量的查找顺序为:(A)


A.局部作用域>外部嵌套作用域>全局作用域>内置模块作用域


B.外部嵌套作用域>局部作用域>全局作用域>内置模块作用域


C.内置模块作用域>局部作用域>外部嵌套作用域>全局作用域


D.内置模块作用域>外部嵌套作用域>局部作用域>全局作用域


解析:


      局部作用域,也就是我们在函数中定义的变量;嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的;全局变量,就是模块级别定义的变量;系统内置模块里面的变量,比如int, bytearray等。


相关文章
|
Python
牛客网专项练习30天Pytnon篇第01天
牛客网专项练习30天Pytnon篇第01天
61 1
|
Python
牛客网专项练习30天Pytnon篇第05天
牛客网专项练习30天Pytnon篇第05天
57 0
|
存储
牛客网专项练习30天Pytnon篇第08天
牛客网专项练习30天Pytnon篇第08天
116 0
|
索引 Python
牛客网专项练习30天Pytnon篇第10天
牛客网专项练习30天Pytnon篇第10天
80 0
|
索引 Python
牛客网专项练习30天Pytnon篇第12天
牛客网专项练习30天Pytnon篇第12天
61 0
|
Python
牛客网专项练习30天Pytnon篇第19天
牛客网专项练习30天Pytnon篇第19天
56 0
|
Python
牛客网专项练习30天Pytnon篇第07天
牛客网专项练习30天Pytnon篇第07天
85 0
|
Python
牛客网专项练习30天Pytnon篇第02天
牛客网专项练习30天Pytnon篇第02天
88 0
|
索引 Python
牛客网专项练习30天Pytnon篇第22天
牛客网专项练习30天Pytnon篇第22天
117 0
|
存储 Python
牛客网专项练习30天Pytnon篇第21天
牛客网专项练习30天Pytnon篇第21天
60 0