emptyLines = [] for i in range(0, len(ticketInfo)): if (ticketInfo[i] == "\n"): emptyLines.append(i) # Extract different pieces of information from the file validationNumbers = findTicketValidationNumbers(ticketInfo[0:emptyLines[0]]) myTicket = Ticket(ticketInfo[emptyLines[1] - 1]) # Calculate error rate and tabulate valid tickets thisErrorRate = 0 errorRate = 0 validTickets = [] for infoLine in ticketInfo[emptyLines[1] + 2:len(ticketInfo)]: thisTicket = Ticket(infoLine) thisErrorRate = thisTicket.errorRate(validationNumbers) if thisTicket.isValid(validationNumbers): validTickets.append(thisTicket) errorRate = errorRate + thisErrorRate # Assume that my own ticket is valid validTickets.append(myTicket) # Print the answer! print("Total error rate in nearby tickets is {:d}".format(errorRate)) # Find all possible indices for each rule possibleIndices = {} for key in validationNumbers: allIndices = [i for i in range(0, len(validationNumbers))] possibleIndices[key] = allIndices