每天五道面试题(3)

如何用两个栈做一个队列

进队:一号栈进栈
出队:如果二号栈为空,则一号栈出栈依次到二号栈,二号栈依次出栈。如果二号栈不为空,一号栈等待。

python递归的最大层数?

普通情况下,最多 998 层。

def foo(n):
    print(n)
    n += 1
    foo(n)


if __name__ == '__main__':
    foo(1)

通过sys.setrecursionlimit强行设置之后,也只能勉强达到3920+。

import sys

sys.setrecursionlimit(100000)


def foo(n):
    print(n)
    n += 1
    foo(n)


if __name__ == '__main__':
    foo(1)
ascii、unicode、utf-8、gbk 区别?字节码和机器码的区别?

ascii:是美国的电脑编码系统。
unicode:ISO指定的通用编码
utf-8:由于Unicode比较浪费网络带宽和硬盘,因此为了解决这个问题,就在Unicode的基础上,定义了一套编码规则,这个规则就是utf-8。
gbk:是国人制定的一套电脑编码系统

字节码就是二进制文件。
机器码就是系统能够识别并操作的编码

三元运算规则以及应用场景?

三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值
res = 值1 if 条件 else 值2

三元非常精炼,执行速度也很快。

py3和py2的区别?

1、py2 的默认编码是ASCII,py3的默认编码是UTF-8

2、py2print函数可以用引号引起来也可以括起来执行,py3必须括号括起来执行

3、py2交互使用函数raw_input()得到了str,input()得到了int数据类型,py3使用input() 得到str

4、py2 有range()和xrange(),py3只有range() ,是可迭代对象

5、py2的除法不是浮点数只返回商,整除一样,py3的除法返回小数,整除同py2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容