面试题总结

1、下面代码的输出结果

def add(n, i):
    return n+i


def test():
    for i in range(4):
        yield i


g = test()
for n in [1, 10]:
    g = (add(n, i) for i in g)

print(list(g))
[20, 21, 22, 23]
View Code

这个题目结果主要就在于n的值

2、下列表达式中返回True的是:

  A、3>2>2

  B、'abc'>'xyz'

  C、0x56>56

  D、(3, 2)>('a', 'b')

C
B 字符串可以比大小,按首字母ASCII码值比较,依次往下比,中文字符也是可以比大小的,按照Unicode值比较
D 元祖不能比大小
View Code

3、若k为整型,下述while循环执行的次数为:

k = 1000
while k>1:
    print k
    k = k / 2

  A、9  B、10  C、11  D、100

A
首先,python2和python3的除法是不一样的,python2是地板除,而python3是取近似值,是有小数位的
此题没有明确说明是python2和python3,但是从代码中print k是可以判断出,这是使用的python2来写的,所以按照python2来做,结果是A
ps:如果按照python3来做,结果应该是B
View Code

4、关于python中的复数,下列说法错误的是:

  A、表示复数的语法是real+image j

  B、实部和虚部都是浮点数

  C、虚部必须后缀j且必须是小写

  D、方法conjugate返回复数的共轭复数

C
j不区分大小写
B 注意实部和虚部都是浮点数
View Code

5、L = range(100)

  1)取第一到第三个元素

  2)取倒数第二个元素

  3)取后十个元素

  4)把L复制给L1用

注意:遇到range都是坑,一定记得转换!!!
1)list(L[:3])  先取值后转换,range也可以用数组下标取值和切片
2)L[98]或L[-2]
3)list(L[-10:]) 或 list(L[90:]) 或 list(L[-1:-11:-1])  最后一种记得切片最后一个参数传-1
4)L1 = list(L) 或 list(L[:])
View Code

 

posted @ 2018-11-07 15:43  蜜酥糖糖糖丶  阅读(133)  评论(0编辑  收藏  举报