Exemple #1
0
from data import DATA
from pprint import pprint

grouped_data = DATA.split('\n\n')
individual_data = [data.split('\n') for data in grouped_data]
cleaned_data = [block.replace('\n', '') for block in grouped_data]

if __name__ == "__main__":
    yes_count = 0
    for data in cleaned_data:
        unique = ''.join(set(data))
        yes_count += len(unique)

    print("PART ONE\n=======")
    print('Count of Individual Yes Answers: {}'.format(yes_count))

    yes_count = 0
    unique = [''.join(set(data)) for data in cleaned_data]

    for unique_answers, individual_answers in zip(unique, individual_data):
        for unique_answer in unique_answers:
            yes_count += all([unique_answer in i for i in individual_answers])

    print("\nPART TWO\n=======")
    print('Count of Group Yes Answers: {}'.format(yes_count))
from data import DATA
from passport import Passport
from pprint import pprint

# Split on blank lines, then replace newlines with spaces
data_clean = [block.replace('\n', ' ') for block in DATA.split('\n\n')]

if __name__ == "__main__":
    valid = 0
    for item in data_clean:
        passport = Passport.from_string(item)
        valid += passport.validate_part_one()

    print("PART ONE\n=======")
    print('Valid Passports: {}'.format(valid))

    valid = 0
    for item in data_clean:
        passport = Passport.from_string(item)
        valid += passport.validate_part_two()

    print("\nPART TWO\n=======")
    print('Valid Passports: {}'.format(valid))