zoukankan      html  css  js  c++  java
  • 笔试题102-117

    102、

    # 编程实现一个先进先出的队列类,能指定初始化时队列大小,以及cnqueue,dequeue,
    # is_empty,is_full四种方法
    '''
    s=Queue(2) 初始化一个大小为2的队列
    s.is_empty() 初始化后,队列为空,返回True
    s.cnqueue(1) 将1加入队列
    s.cnqueue(2) 将2加入队列
    s.is_full() 加入两个队列元素,队列已满,返回True
    s.dequeue() 移除队列中的一个元素返回1
    s.dequeue() 移除队列中的一个元素返回2
    s.is_empty() 队列为空,返回True
    '''

    class Queue(object):
    def __init__(self,n):
    self.n = n
    self.l = []
    def is_empty(self):
    if not self.l:
    return True
    def is_full(self):
    if len(self.l) < self.n:
    return True
    return False
    def cnqueue(self,k):
    if self.is_full():
    self.l.append(k)
    def dequeue(self):
    self.l.pop(0)

    103、

    # 编程实现一个后进先出的队列类,能指定初始化时栈大小,以及push,pop,
    # is_empty,is_full四种方法
    '''
    s=Stack(2) 初始化一个大小为2的栈
    s.is_empty() 初始化后,栈为空,返回True
    s.push(1) 将1加入栈
    s.push(2) 将2加入栈
    s.is_full() 加入两个栈元素,栈已满,返回True
    s.pop() 移除栈中的一个元素返回1
    s.pop() 移除栈中的一个元素返回2
    s.is_empty() 栈为空,返回True
    '''

    class Stack(object):
    def __init__(self,n):
    self.n = n
    self.l = []
    def is_empty(self):
    if not self.l:
    return True
    def is_full(self):
    if len(self.l) < self.n:
    return True
    return False
    def push(self,k):
    if self.is_full():
    self.l.append(k)
    def pop(self):
    self.l.pop()

    104、有一个数组,[3,4,1,2,5,6,6,5,4,3,3]请写一个函数,找出该数组中没有重复数的和

      答:

    l = [3,4,1,2,5,6,6,5,4,3,3]
    def xxx(l):
    d = {}
    s = 0
    for i in l:
    if i not in d:
    d[i] = 1
    else:
    d[i] += 1
    for k,v in d.items():
    if v == 1:
    s += k
    return s

    105、从0-99折100个数中随机取10个,要求不能有重复,可以自己设计数据结构

      答:

    import random
    def ran():
    l = []
    while len(l) < 10:
    x = random.randint(0, 11)
    if x not in l:
    l.append(x)
    return l

    106、Cookie和Session有什么区别

      答:Cookie是把所有数据保存在用户浏览器的键值对

        Session是把数据保存在服务器后端的键值对,通过保存在用户端的Cookie值来调用

    107、HTTP协议是有状态协议还是无状态协议,如何从两次请求中判断是同一用户

      答:无状态协议,通过cookie或session的传递来判断用户身份

    108、以下代码将输出什么

    l = ['a','b','c','d','e']
    print(l[10:])

      答:空列表

    109、以下代码的输出将是什么,说出你的答案,并解释

      

    def extendList(val,list=[]):
    list.append(val)
    return list
    list1 = extendList(10)
    list2 = extendList(123,[])
    list3 = extendList('a')

    print(list1)
    print(list2)
    print(list3)
    你将如何修改函数的定义来产生期望的结果
    答:[10, 'a'][123][10, 'a'],将list=[]写在函数体中

    110、给定一个整数数组,返回两个数字索引,使得他们相加和一个目标值相等

      例如nums = [2,7,11,15] 目标是9,返回[0,1]

    nums = [2,7,11,15]

    def n(nums,aim):
    for i in range(len(nums)):
    for j in range(i+1):
    if i == j:continue
    elif nums[i] + nums[j] == aim:
    return [j,i]
    return None

    111、arr= [1,2,3]

      def bar():

        arr += [5]

      bar()

      print(arr)

      A、error   B、[5]   C、[1,2,3]    D、[1,2,3,5]

    112、Python,判断一个字典中是否有这些key:'AAA','BB','C','DD','EEE'(不使用for,while)

      答:i in dict

    113、Python一行print出1~100偶数列表(列表推导时,filter都可)

      答:print([i for i in range(1,101) if i % 2 == 0])

    114、1,2,3,4,5能组成多少个互不相同且无重复的三位数(程序实现)

      答:

    l = ['1','2','3','4','5']
    def m(l):
    n = 0
    for i in l:
    for j in l:
    for k in l:
    if i == j or j == k or i == k:continue
    print(i+j+k)
    n += 1
    print(n)

    115、写出HTTP的五种请求方法

      答:get  post  delete  put   head  option  connect

    116、描述多进程开发中,join与daemon的区别

      答:join是使主进程等待子进程执行完毕后主进程关闭,daemon是主进程关闭,守护进程使其他子进程关闭

    117、简单描述GIL对Python的性能影响

      答:使Python不能真正意义上的多线程,同一时刻只能有一个线程运行

  • 相关阅读:
    2019.6.20刷题统计
    36 线程 队列 守护线程 互斥锁 死锁 可重入锁 信号量
    35 守护进程 互斥锁 IPC 共享内存 的方式 生产者消费者模型
    34 进程 pid ppid 并发与并行,阻塞与非阻塞 join函数 process对象 孤儿进程与僵尸进程
    33 udp 域名 进程
    32 粘包 文件传输
    31 socket客户端. 服务器 异常 语法
    30 网络编程
    29 元类 异常
    26 封装 反射 常用内置函数
  • 原文地址:https://www.cnblogs.com/fenglin0826/p/8451803.html
Copyright © 2011-2022 走看看