面试题

1.使用一行Python代码打印出9*9 乘法表
1*1=1
2*1=2   2*2=4
3*1=3   3*2=6     3*3=9
4*1=4   4*2=8     4*3=12    4*4=16
5*1=5   5*2=10   5*3=15    5*4=20   5*5=25
6*1=6   6*2=12   6*3=18    6*4=24   6*5=30   6*6=36
7*1=7   7*2=14   7*3=21    7*4=28   7*5=35   7*6=42   7*7=49
8*1=8   8*2=16   8*3=24    8*4=32   8*5=40   8*6=48   8*7=56   8*8=64
9*1=9   9*2=18   9*3=27    9*4=36   9*5=45   9*6=54   9*7=63   9*8=72   9*9=81

 

 

2.解释一下python的 and-or 语法                     not  and   or    (短路原则)

 or  从左向右开始计算,当遇到为真的条件是停止计算,整个表达式为真,所有条件为假时表达式才为假,

and   从左向右开始计算,当遇到为假的条件是停止计算,整个表达式为假,所有条件为真时表达式才为真,


1 or 3        

1 and 3

0 and 2 and 1

0 and 2 or 1

0 and 2 or 1 or 4

0 or Flase and 1

not 1 or 0 and 1 or 3 and 4 or 5 and 6 or  7 and 8 and 9

 

3.求中位数:

中位数是一个可将数值集合划分为相等的上下两部分的一个数值。如果列表数据的个数是奇数,则列表中间那个数据就是列表数据的中位数;如果列表数据的个数是偶数,则列表中间那2个数据的算术平均值就是列表数据的中位数。在这个任务里,你将得到一个含有自然数的非空数组(X)。你必须把它分成上下两部分,找到中位数。

def get_median(data):
        data = sorted(data)
        size = len(data)
        if size % 2 == 0:   # 判断列表长度为偶数
            median = (data[size//2]+data[size//2-1])/2
            data[0] = median
        if size % 2 == 1:   # 判断列表长度为奇数
            median = data[(size-1)//2]
            data[0] = median
        return data[0]

 

 例子:

print(get_median([1, 2, 3, 4, 5]))
print(get_median([3, 1, 2, 5, 3]))
print(get_median([1, 300, 2, 200, 1]))
print(get_median([3, 6, 20, 99, 10, 15]))

 

 

4.

 

 

5.

 

posted @ 2018-12-25 15:08  真龙星君  阅读(103)  评论(0)    收藏  举报