笔试题118-130
118、菲波那切数列1,2,3,4,8,13,21.。。。。。。根据这样的规律,编程求出400万以内最大的斐波那契数,并求出他是第几个
答:
a = 1
b = 2
n = 0
while True:
a = a+b
b = a+b
if a > 4000000 or b > 4000000:break
n += 1
print(a,b,end=' ')
print(n*2)
119、
dicta = {'a':1,'b':2,'c':3,'d':4,'f':'hello'}
dictb = {'b':3,'d':5,'e':7,'m':9,'k':'world'}
'''要求写一段代码,实现两个字典相加,不同的key对应值保留,相同的相加后保留,字符串就拼接'''
for k,v in dictb.items():
if k in dicta:
dicta[k] = dicta[k] + v
else:
dicta[k] = v
print(dicta)
120、五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一堆;......其他几只猴子也都是 这样分的。问:这堆桃至少有多少个?
##本算法从最后一个猴子进行逆向推倒 def peach(monkey=5): pea = 4 ##最后一个猴子分完剩余的桃子 while 1: num = pea for i in range(monkey): num = num + num / 4 + 1 if num % 1 != 0: ##如果分出了小数则结束内层循环 pea += 4 ##最后的桃子一定是4的整数倍 break if num % 1 == 0: ##如果是整分 则结束 break return pea, num if __name__ == '__main__': pea, num = peach() print(pea, num)
121、以下代码输出什么,请给出答案并解释
class Parent(object):
x = 1
class Child1(Parent):
pass
class Child2(Parent):
pass
Child2.x = 2
print(Parent.x,Child1.x,Child2.x)
Parent.x = 3
print(Parent.x,Child1.x,Child2.x)
答:112,332 自己没有找父类
122、以下代码输出什么,给出答案并解释
def mul():
return [lambda x:i*x for i in range(4)]
print([m(2) for m in mul()])
答:[6,6,6,6]因为返回的lambda已将i遍历结束,作用域中i值已固定将[lambda x,i=i:i*x for i in range(4)]即可[0,2,4,6]
123、重输入http://www.mioji.com到页面返回,中间都是发生了什么?
答:浏览器通过http协议的get形式发送请求页面信息,通过互联网解析/www.mioji.com的IP端口
然后通过ip端口请求数据,请求通过ip端口的wsgi进入服务器,服务器根据请求内容返回相应内容
124、HTTP协议状态码有什么用,列出你知道的HTTP协议状态码级含义
答:
200 OK 请求已成功,请求所希望的响应头或数据体将随此响应返回。出现此状态码是表示正常状态。
301 重定向
403 csrf阻止
404 无资源
500 服务器错误
125、Python主要内置数据类型都有哪些,哪些是可变的,哪些是不可变的,有什么区别
答:数字,字符串,列表,元组,字典
可变:列表,字典
不可变:数字,元组,字符串
126、在Python中如何抛出、捕获、处理异常
答:抛出:raise
捕获:except
处理:try。。。except
127、读代码,写出程序的输出结果
class Parent(object):
x =1
class Child(Parent):
pass
给定两个list A、B,请用Python找出A、B中相同的元素,找出A、B中的不同的元素
答:相同set(A)&set(B)
不同set(A)^set(B)
给定一个字符串aStr
请反转字符串
答:a[::-1]
请返回使用空格或者\t切分后的倒数第二个字串
答:a.split()[-2]
128、有一个3G大小的文件,文件每行一个string,内容为酒店的id和一个图片的名字,使用‘\t’分割
示例:ht_1023134 + '\t' + hisahddsjdhsjhdjshdjsh.jpg
表示的是一个酒店包含的一张图片,统计含有图片数量为[20,无穷大]的酒店id,含有图片数量为[10,20]的酒店id,含有图片数量为[5,10]的酒店id,图片数量为[0,5]的酒店id,并将结果输出到文件中
文件格式为
129:、什么是lambda函数?他有什么好处?另外Python在函数式编程方面提供了些什么函数和语法
答:匿名函数,使用完直接在内存中销毁
130、详细说说tuple list dict 的用法,他们的特点