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