import math import re def readFile() : ary = [] with open("files/Problem2.txt", "r") as file : content = file.read() ary = content.split(",") return ary def findRepeated(num: str) : for cnt in range(0, math.floor(len(num) / 2) + 1) : match = re.search(r"^(" + num[0:cnt] + ")+$", num) if(match != None) : return True return False def isInvalid(startNum: str, endNum: str) : foundNums = [] for num in range(startNum, endNum + 1) : numStr = str(num) if findRepeated(numStr) : foundNums.append(num) return foundNums testArray = [ "11-22", "95-115", "998-1012", "1188511880-1188511890", "222220-222224", "1698522-1698528", "446443-446449", "38593856-38593862", "565653-565659", "824824821-824824827", "2121212118-2121212124" ] #inputArray = testArray inputArray = readFile() results = [] for values in inputArray : valueArray = values.split("-") results.extend(isInvalid(int(valueArray[0]), int(valueArray[1]))) print(f"Sum = {sum(results)}") #Sum = 25912654282