检查列表中的多个相邻等效值

我正在完成代码战方面的挑战,并且不了解一些速记解决方案。您正在检查一个列表中是否存在三个相邻的等效值,而另一列表中是否存在两个相同的SAME编号等效值。即“ 12777456”(当采用列表形式时)将连续包含三个7。我不明白的解决方案说:

def triple_double(num1,num2):
    for x in range(10):
        if str(x) * 3 in str(num1):
            if str(x) * 2 in str(num2):
                return 1
    return 0

我没有得到str(x) * 3 in str(num1)部分。这是一些东西的简写,并且不确定要用谷歌弄清楚是什么。任何方向表示赞赏,谢谢!链接到代码战:

Codewars

mdd000000 回答:检查列表中的多个相邻等效值

有时仅打印内容可以帮助您了解发生了什么。查看修改:

num1 = 1233345
num2 = 123345

for x in range(10):
    if str(x) * 3 in str(num1):
        print(str(x) * 3,"in",num1)
        if str(x) * 2 in str(num2):
            print(str(x) * 2,num2)

结果:

333 in 1233345
33 in 123345

在Python中将字符串乘以int会导致字符串重复:

>>> "a" * 3
'aaa'
>>> "abc" * 3
'abcabcabc'
本文链接:https://www.f2er.com/3148208.html

大家都在问