Python面试题

Python面试题,第1张

Python面试题

文章目录
        • 1. 实现异常重试装饰器
        • 2. 数组去重并返回新数组长度
        • 3. 利用List来模拟栈的 *** 作
        • 4. 给定一个非负的整数i,求它的二进制数中的1的个数
        • 5. 解释下以下代码的结果和含义
        • 6. 使用至少三种方法计算1到100之间的所有奇数的和

1. 实现异常重试装饰
  • 要求

    写一个装饰器,当有异常发生的时候,根据异常的最高重试次数,以及休眠时间,再次执行原来的函数
    要求装饰器接收两个参数,这两个参数的都有缺省默认值0
    这里有一个难点就是如何给装饰器传递参数的问题,装饰器传递参数,一般用三层的嵌套来解决

2. 数组去重并返回新数组长度
  1. 要求1: 不能使用新的数据结果,就是不能使用集合
  2. 要求2: 不能分给数组额外的内存空间,必须进行原地 *** 作
  • 使用count和remove,利用remove只会remove一个元素的特性,就是remove索引比较小的元素

  • 使用带下标的索引的遍历来实现,根据del list[index] 来 *** 作

3. 利用List来模拟栈的 *** 作
  • 什么是栈

    栈是先进后出,后进先出的数据结果,类似于q的子d.

  • 栈一般都包含哪些方法

    1. 压栈(往栈里面添加一个元素)
    2. 出栈(从栈里面取出来一个元素)
    3. 查看栈是否为空
    4. 获取栈顶元素
    5. 查看某个对象在栈的位置

4. 给定一个非负的整数i,求它的二进制数中的1的个数
  • 思路

    先转换为二进制字符串格式,使用count统计1的个数

5. 解释下以下代码的结果和含义

6. 使用至少三种方法计算1到100之间的所有奇数的和
  • 分析

    1. 首先是列表推导式
    2. 使用filter函数
    3. 使用循环
    4. 使用reduce,它具有累加的效果,可以将后面的参数前两个参数带入,计算出结果和后面参数再组成新的两个参数带入前面的函数

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3972077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-21
下一篇 2022-10-21

发表评论

登录后才能评论

评论列表(0条)

保存