面试题
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.
浙公网安备 33010602011771号