某公司面试题,全是算法,还得当着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语言