如何在下面的示例中使用正则表达式检查给定数字是否具有4个或多个连续的重复数字,请提供更多详细信息

问题描述 投票:-4回答:1

51333367应该返回true,因为3次重复4次并且这些重复是连续的53131313应该返回false,因为即使3次重复4次,这些重复也不是连续的533312应该返回false,因为3重复了3次53333312应该返回true,因为3重复了4次以上

python regex python-3.x python-2.7 repeat
1个回答
0
投票

此功能应做您想要的。

def consecutive(nums, length=4):
    counter = 1
    for i in range(len(nums)-1):
        if nums[i] == nums[i+1]:
            counter+=1 

    if counter >= length:
        return True
    else:
        return False

nums = list(input("Your number is? "))
output = consecutive(nums)
print(output)

逻辑:

  • 根据输入的长度为n的数字列出数字。
  • 循环浏览n-1个项目,并将当前项目与下一个进行比较。
  • 如果它们匹配,则计数器递增。
  • 当计数器达到长度时,您选择归为True(默认值为4),则输出为True,否则为False。

输出:

Your number is? 51333367
True

Your number is? 53131313
False

Your number is? 533312
False

Your number is? 53333312
True
© www.soinside.com 2019 - 2024. All rights reserved.