某公司面试题,全是算法,还得当着2个面试官的面,在电脑上敲出来,第一次遇到,相信也不是最后一次。。。。。。
代码如下:
# coding=utf-8 #测试题1 求1-50内偶数和: #方法1 sum = 0 i = 0 while i<=50: sum +=i i +=2 print(sum) #方法2 sum1 = 0 for i in range(1,51): if i%2 == 0: sum1 +=i print(sum1) #方法3 sum2 = 0 for i in range(0,51,2): sum2 +=i print(sum2) #解释:sort默认是升序 reverse= False; reverse = True为降序 # 公用函数 sorted(iterable, key=None, reverse=False): # 作用是:将可迭代的对象排序,返回一个新列表。 # 位置参数iterable, 是可迭代的对象,这是与sort()函数最大的区别,sorted可为所有的包括列表在内的可迭代对象排序。 #测试题2 按照排序年龄有小到大排序 list = [ {"name":"ziqin1","age":"18"}, {"name":"ziqin2","age":"39"}, {"name":"ziqin3","age":"28"} ] #方法1 # def second(elem): # return elem['age'] # list.sort(key=second,reverse=False) # print("按照年龄由小到大排序",list) #方法2 list.sort(key=lambda nbs:nbs['age']) print("方法2中:按照年龄由小到大排序",list) #测试3 给下列列表进行由小到大冒泡排序 list2 = [23,34,21,9,12] def maopao_sort(list2): for i in range(len(list2)): for j in range(1,len(list2)-i): if list2[j-1]>list2[j]: list2[j-1],list2[j] = list2[j],list2[j-1] return list2 if __name__ == '__main__': list2 = [23,34,21,9,12] print('我是冒泡排序',maopao_sort(list2))
注释:基于python语言