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=3def wrapper(*args,**kw):return f(*args,**kw)*nreturn 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 aelse: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等。


牛客网专项练习30天Pytnon篇第24天相关推荐

  1. 【牛客网】C/C++牛客网专项刷题(02)

    以下为牛客网C/C++专项刷题: 1.虚函数不可以内联,因为虚函数是在运行期的时候确定具体调用的函数,内联是在编译期的时候进行代码展开,两者冲突,所以没有一起使用的做法. 2.C++中构造函数和析构函 ...

  2. 【牛客网】C/C++牛客网专项刷题(00)

    以下为牛客网C/C++专项刷题: 1.若要打开A盘上user子目录下名为abc.txt的文本文件进行读.写操作,符合此要求的函数调用是( ). KEY:fopen("A:\\user\\ab ...

  3. 【牛客网】C/C++牛客网专项刷题(01)

    以下为牛客网C/C++专项刷题: 1.下面程序会输出什么: static int a=1; void fun1(void){ a=2; } void fun2(void){ int a=3; } vo ...

  4. 【牛客网】C/C++牛客网专项刷题(03)

    以下为牛客网C/C++专项刷题: 1.阅读以下程序,当输入数据的形式为12a345b789↙,正确的输出结果为(). void main() {char c1,c2;int a1,a2;c1=getc ...

  5. 【牛客网专项练习题】

    练习题每日刷 12月22日 12月23日 12月24日 12月25日 12月26日 12月28日 12月29日 12月30日 12月31日 12月22日 1.下面哪个行为被打断不会导致Interrup ...

  6. 牛客网--专项训练--软件测试(待补充)

    1.集成测试分为渐增组装测试和(非渐增组装测试 ) 渐增组装测试,是测完一个再加上一个一起测试. 非渐增组装测试,是一个一个的测试. 2.海伦公式求三角形面积,等价类测试用例中无效等价类意思就是无法构 ...

  7. 牛客网专项训练之HTML(一)

    HTML 1.在 HTML5 中,onblur 和 onfocus 是:事件属性 onblur 和 onfocus 属于焦点事件: onblur:失去焦点 onfocus:获取焦点 2.哪一个html ...

  8. 牛客网日刷30题错题解析

    1.已知一棵完全二叉树的第 6 层(设根为第 1 层)有 8 个叶结点,则该完全二叉树的结点个数最多是 ? 我选的是39,正确答案为111.错点在于我理解的该树深度为6的情况,忽略了深度为7的情况,其 ...

  9. 牛客网 SQL大厂面试真题篇 SQL2 平均播放进度大于60%的视频类别

    描述 用户-视频互动表tb_user_video_log id uid video_id start_time end_time if_follow if_like if_retweet commen ...

最新文章

  1. leetcode 438. Find All Anagrams in a String 滑动窗口法
  2. 微信是个坑货4-网页授权
  3. numpy 数组 维度 大小 形状
  4. Android百度地图开发 百度地图得到当前位置
  5. 阿里大规模业务混部下的全链路资源隔离技术演进
  6. 13_线性回归分析、线性模型、损失函数、最小二乘法之梯度下降、回归性能评估、sklearn回归评估API、线性回归正规方程,梯度下降API、梯度下降 和 正规方程对比
  7. 苹果字体怎么改_GoodNotes制作电子手帐之添加中文字体
  8. 整型数据类型java_Java 六种基本整型数据类型变量的取值范围
  9. React 折腾记 - (4) 侧边栏联动Tabs菜单-增强版(结合Mobx)
  10. [转]快速矩阵快速幂
  11. pythonexcel模块哪个好_Python-Excel 模块哪家强?
  12. C#带命令行参数调用外部程序
  13. 华为谷歌安装器 Android6.0,gms安装器华为
  14. mp4 html5 自动播放,网页自动播放视频(mp4)
  15. python运行报错怎么看_解决python运行启动报错问题
  16. 仿QQ写的chrome浏览器插件.
  17. vue.js 在微信公众号内实现视频播放
  18. 打乱魔方软件_一种智能魔方打乱装置的制作方法
  19. SQL2022-8-10
  20. 什么是jQuery[0002]

热门文章

  1. TeamViewer 连接准备已就绪,连接后一直提示“验证被取消” 的解决方案
  2. wp8.1 java,全新正式版的WP8.1系统
  3. autojs怎么获取微信的聊天记录?
  4. 用计算机打开苹果手机,iPhone手机打开服务器功能,和Windows电脑互传文件方法...
  5. 计算机机房为什么要防静电,机房为什么要做防静电地板?
  6. spark服务器安装系统,spark安装教程
  7. Java学习路线:day7 数组2
  8. iphone6无3g显示无服务器,iPhone 6网络实测:移动联通无压力/电信泪奔三条街
  9. 如何让自己的U盘加上logo
  10. HMM滚动训练择时研究【附源码】