コード例 #1
0
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