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))


  • 相关阅读:
    WKT转换工具terraformers
    关于微信公众号投票结果的通告
    个人博客03
    个人博客02
    个人博客01
    四则运算2
    学习进度条
    构建之法阅读笔记01
    错误随笔
    软件工程概论第一节
  • 原文地址:https://www.cnblogs.com/pipile/p/12605006.html
Copyright © 2011-2022 走看看