笔试题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]

  请返回使用空格或者 切分后的倒数第二个字串

  答:a.split()[-2]

128、有一个3G大小的文件,文件每行一个string,内容为酒店的id和一个图片的名字,使用‘ ’分割

  示例:ht_1023134 + ' '  + hisahddsjdhsjhdjshdjsh.jpg

  表示的是一个酒店包含的一张图片,统计含有图片数量为[20,无穷大]的酒店id,含有图片数量为[10,20]的酒店id,含有图片数量为[5,10]的酒店id,图片数量为[0,5]的酒店id,并将结果输出到文件中

文件格式为

129:、什么是lambda函数?他有什么好处?另外Python在函数式编程方面提供了些什么函数和语法

  答:匿名函数,使用完直接在内存中销毁

130、详细说说tuple list dict 的用法,他们的特点

原文地址:https://www.cnblogs.com/fenglin0826/p/8452779.html