zoukankan      html  css  js  c++  java
  • 如果在num1的任何位置有一个数字的连续三倍,并且在num2中有一个数字的连续两倍,则返回1。 如果不是这样,则返回0

    '''
    它接受数字num1和num2,如果在num1的任何位置有一个数字的连续三倍,并且在num2中有一个数字的连续两倍,则返回1。
    如果不是这样,则返回0
    例子
    triple_double(451999277, 41177722899) == 1
    num1有三个直的999,num2有两个直的999
    triple_double(1222345, 12345) == 0
    num1有直接的三重2s,但是num2只有一个2
    triple_double(12345, 12345) == 0
    triple_double(666789, 12345667) == 1
    '''
    
    
    #解法1
    import itertools
    def triple_double(num1, num2):
        #code me ^^
        num1_3=[k for k,v in itertools.groupby(str(num1)) if len(list(v))==3]
        num2_2=[k for k,v in itertools.groupby(str(num2)) if len(list(v))==2]
        if num1_3!=[]:
            for i in num1_3:
                if i in num2_2 :
                    return 1
                else:
                    return 0
        else:
            return 0
    
    print(triple_double(10560002, 100))
    '''
    它接受数字num1和num2,如果在num1的任何位置有一个数字的连续三倍,并且在num2中有一个数字的连续两倍,则返回1。
    如果不是这样,则返回0
    例子
    triple_double(451999277, 41177722899) == 1
    num1有三个直的999,num2有两个直的999
    triple_double(1222345, 12345) == 0
    num1有直接的三重2s,但是num2只有一个2
    triple_double(12345, 12345) == 0
    triple_double(666789, 12345667) == 1
    '''


    #解法1
    import itertools
    def triple_double(num1, num2):
    #code me ^^
    num1_3=[k for k,v in itertools.groupby(str(num1)) if len(list(v))==3]
    num2_2=[k for k,v in itertools.groupby(str(num2)) if len(list(v))==2]
    if num1_3!=[]:
    for i in num1_3:
    if i in num2_2 :
    return 1
    else:
    return 0
    else:
    return 0

    print(triple_double(10560002, 100))


  • 相关阅读:
    MVC3+Spring.net+NHibernate+ExtJs的简单架构
    WCF初见之Salt+Hash加密
    演讲时经常用到的几个小工具介绍
    2asp.net mvc 4 in action
    Hadoop简介和实践分享
    PyMongo非关系型数据库mongodb入门
    网络资源定位(Url)的奥秘
    ApplicationPoolIdentity
    CustomBehavior 入门
    架构培训
  • 原文地址:https://www.cnblogs.com/pipile/p/12605006.html
Copyright © 2011-2022 走看看