python几个面试题整理

1.下面代码会输出什么:

def f(x,l=[]): for i in range(x): l.append(i*i) print l f(2) f(3,[3,2,1]) f(3) 

答案

[0, 1]
[3, 2, 1, 0, 1, 4] [0, 1, 0, 1, 4]

对于第一种情况,很容易理解,没有创建新表,只是在l中添加两个元素,分别为0,1;
对于第二种情况,在内存中会创建一个新的表,在新表中增加了三个元素;
对于第三种情况比较难理解,此时,并没有创建新表,而是在原来的表l中新增了三个元素,0,1,4
2.

补充缺失的代码

def print_directory_contents(sPath):
    """  这个函数接受文件夹的名称作为输入参数,  返回该文件夹中文件的路径,  以及其包含文件夹中文件的路径。  """ # 补充代码 

答案

def print_directory_contents(sPath):
    import os for sChild in os.listdir(sPath): sChildPath = os.path.join(sPath,sChild) if os.path.isdir(sChildPath): print_directory_contents(sChildPath) else: print sChildPath

转载于:https://www.cnblogs.com/GY-Zhu/p/9679788.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值