zoukankan      html  css  js  c++  java
  • 面试题汇总

    1.回文代码

    s='上海自来水水来自海上'
    if s==s[::-1]:
        print('Yes')
    else:
        print('Not')
    

    2.元组类型

    # tu=(123)
    # tu1=(123,)
    # print(type(tu),type(tu1))#<class 'int'> <class 'tuple'>,有无逗号很关键,没有逗号只有一个数据,其数据类型就是其本身
    
    # tu=(True)
    # tu1=(True,1)
    # print(type(tu),type(tu1))#<class 'bool'> <class 'tuple'>
    
    # tu=('h')
    # tu1=('h',)
    # tu2=(int(True))
    # print(type(tu),type(tu1),type(tu2))#<class 'str'> <class 'tuple'> <class 'int'>
    

      3.

    # 面试题
    # a=10,b=20,一行代码实现a=20,b=10
    a=10
    b=20
    a,b=b,a
    print('a=%d,b=%d'%(a,b))

     4.

    # 面试题
    # 用for循环删除列表中的元素
    # li=[1,2,3,4,5]
    # l=[]
    # for i in li:
    #     l.append(i)
    # for j in l:
    #     li.remove(j)
    # print(li)       #[]
    
    # li=[1,2,3,4,5]
    # for i in range(len(li)):
    #     li.pop()
    # print(li)   #[]
    

     5.

    # 面试题
    #一行代码实现s='1111',转变成list
    s='1111'
    print(s.split())#['1111']
    

     6.

    a = [1, 2]
    a[1] = a   #a=[1,[1,2]]     a=[1,[1,[1,2]]] a==[1,[[1,[1,[1,2]]]]]  ...
    print(a[1])#[1, [...]]
    

      

     7.生成器面试题

    def add(n,i):
        return n+i
    
    def test():
        for i in range(4):
            yield i
    
    g=test()
    for n in [1,10]:
        g=(add(n,i) for i in g)
    
    print(list(g))
    
    # 1.g是一个生成器,不调用则不会执行
    # 2.进入for循环
    # n=1
    # g1=(add(n,i) for i in g)
    # n=10
    # g2=(add(n,i) for i in g1)
    # g1是一个生成器
    # g2是一个生成器
    # 3.执行了list(g2)则调用g2
    # g2中for i in g1
    # 调用了g1
    # 此时n=10
    # 调用g1,g1中有for循环调用g
    # g=[0,1,2,3]
    # g1=[10,11,12,13]
    # 继续调用g1
    # g2=10+g1
    # 所以list(g2)=[20,21,22,23]
    

      

     8.

    输入'abab'
    输出 True
    样例解释:输入可由ab重复2次组成
    
    输入'aba'
    输出False
    def get_lst(s):
        # 得到列表
        s=','.join(s)
        return s.split(',')
    
    
    def get_factor(s):
        # 得到因子
        new_s = ','.join(s)
        s_lst = new_s.split(',')
        # 得到有由什么组成的
        s_lst = list(set(s_lst))
        # 排序
        s_lst = sorted(s_lst)
        # 得到组成字符串的因子
        s_res = ''.join(s_lst)
        return s_res
    
    s_lst=get_lst(s)
    factor=get_factor(s)
    
    
    
    def func(factor,s_lst):
        '''得到最终结果'''
        last_cod=factor[-1]
        for i in range(len(s_lst)):
            if s_lst[i]==last_cod:
                s_lst[i]+='|'
        resust=''.join(s_lst)
    
        resust_lst=resust.strip('|').split('|')
        num=0
        for i in resust_lst:
            if i==factor:
                num+=1
            else:
                return False
        return (True,f'输入是由{factor}重复"{num}"次组成的')
    
    print(func(factor,s_lst))
    答案

     

     

  • 相关阅读:
    iis 7.5应用程序池自动停止
    百度云推送
    两点经纬度之间距离计算
    集合已修改;可能无法执行枚举操作。
    【百度地图】- 学习.1
    阿里云服务器下安装LAMP环境(CentOS Linux 6.3)
    微信相关内容
    阿里云服务器下安装LAMP环境(CentOS Linux 6.3)
    php面试相关
    MySQL权限管理
  • 原文地址:https://www.cnblogs.com/liuer-mihou/p/10197100.html
Copyright © 2011-2022 走看看