zoukankan      html  css  js  c++  java
  • python 面试题

    '''
    ip = "192.168.12.79"中每个十进制数转换成二进制,并连接起来生成一个新的字符串
    '''
    ip = "192.168.12.79"
    ip_lst = ip.split(".")
    result = []
    for item in ip_lst:   
        result.append(format(bin(int(item))[2:], ">08"))
    print(".".join(result))
    11000000.10101000.00001100.01001111
    '''
    ip = "192.168.12.79"中每个十进制数转换成二进制,并连接起来转换为十进制数
    '''
    ip = "192.168.12.79"
    ip_lst = ip.split(".")
    result = []
    for item in ip_lst:
        result.append(format(bin(int(item))[2:], ">08"))
    print(int("".join(result), 2))
    3232238671

    '''猜猜执行的结果是什么'''
    def nums():
        return [lambda x:x*i for i in range(4)]
    print([m(2) for m in nums()])
    [6, 6, 6, 6]
    '''猜猜执行的结果是什么'''
    def
    nums(): return [lambda x, i=i:x*i for i in range(4)] [m(2) for m in nums()]
    [0, 2, 4, 6]
    '''写函数(考点:递归)
    有一个数据结构如下所示,请编写一个函数从该结构中返回一个指定的字段和对应的值组成的字典,如果指定字段不存在,则跳过该字段
    '''
    data = {
        "time": "2016-08-05",
        "some_id": "ID123456",
        "grp1": {"fld1": 1, "fld2": 2},
        "grp2": {"fld3": 0, "fld4": 0.4},
        "fld6": 11,
        "fld7": 7,
        "fld46": 8
    }
    def select(data, fields):
        global result
        for k, v in data.items():
            if k in fields:
                result[k] = v
            if type(v) == dict:
                select(v, fields)
    
        return result
    
    
    sel = "fld1|fld7|fld29|grp2".split("|")  # fld1|fld7|fld29|grp2
    result = {}
    ret = select(data, sel)
    print(ret)
    {'fld1': 1, 'grp2': {'fld3': 0, 'fld4': 0.4}, 'fld7': 7}

    '''写函数(考点:递归)
    有一个数据结构如下所示,请编写一个函数从该结构中返回一个指定的字段和对应的值组成的字典,如果指定字段不存在,则跳过该字段
    比上面的方法要好,没有使用global
    ''' data = { "time": "2016-08-05", "some_id": "ID123456", "grp1": {"fld1": 1, "fld2": 2}, "grp2": {"fld3": 0, "fld4": 0.4}, "fld6": 11, "fld7": 7, "fld46": 8 } def select(fields): result = {} def search(k, v): if isinstance(k, dict): for k1, v1 in data.items(): search(k1, v1) if k in fields: result[k] = v search(data, data) return result sel = "fld1|fld7|fld29|grp2".split("|") # fld1|fld7|fld29|grp2 ret = select(sel) print(ret)
    {'fld1': 1, 'grp2': {'fld3': 0, 'fld4': 0.4}, 'fld7': 7}

    '''猜猜执行的结果是什么'''
    def add(x, y):
        return x + y
    
    def test():
        for i in range(4):
            yield i
    
    g = test()
    
    for n in [2, 10]:
        g = (add(n, i) for i in g)
    
    print(list(g))
    [20, 21, 22, 23]

    分析:
    g = (add(n, i) for i in add(n, i) for i in g)
    g = (add(10, i) for i in add(n ,i) for i in (i for i in range(4)))
    g = (add(10, i) for i in add(10, i) for i in (0, 1, 2, 3))
    g = (add(10, i) for i in (10, 11, 12, 13))
    g = (20, 21, 22, 23)

    '''[闭包+for循环]函数在何时被谁创建?猜猜最后打印结果'''
    info = []
    
    def func(i):
        def inner():
            print(i)
        return inner
        
    for item in range(10):
        info.append(func(item))
        
    info[0]()
    info[1]()
    info[4]()
    0
    1
    4

    
    
    '''[函数+for循环]函数在何时被谁创建?猜猜最后打印结果'''
    info = []
    
    def func():
        print(item)
        
    for item in range(10):
        info.append(func)
        
    info[0]()
    9

    
    
    '''函数在何时被谁创建?猜猜最后打印结果'''
    info = []
    
    def func():
        print(item)
        
    for item in range(10):
        info.append(func)
        
    info[0]()
    print("info" in globals())
    print("func" in globals())
    print("item" in globals())
    9
    True
    True
    True
    '''面试题,v最后的值为多少
        v = 1 or 9
        v2 = 0 or 9 or 8
        v3 = 3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
    '''
    v = 1 or 9
    print(v)
    1

    v = 0 or 9 or 8
    print(v)
    9

    v = 3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
    print(v)
    2

    '''考察知识点:and or
    对于and:
        如果第一个值的bool值为True,则值=第二个值
        如果第一个值的bool值为False,则值=第一个值
        
    对于or:
        如果第一个值的bool值为True,则值=第一个值
        如果第一个值的bool值为False,则值=第二个值
        
    优先级:not and or
    '''


  • 相关阅读:
    jquery ajax loading效果
    php中count 多维数组长度统计实现方法
    jquery 中Map、each的应用
    转:php获取网页内容方法总结
    经典JavaScript正则表达式实战
    JQuery this 和 $(this) 的区别
    Windows Server 2003 的 Boot.ini 文件的/3GB开关选项
    用ghost装双系统(装03,xp系统)
    Possible memory leak with ReportViewer.RefreshReport() ReportViewer内存回收缺陷
    添加IIS出错,提示缺少CONVLOG.exe文件
  • 原文地址:https://www.cnblogs.com/lilyxiaoyy/p/11907479.html
Copyright © 2011-2022 走看看