36 lines
752 B
Python
36 lines
752 B
Python
import json
|
|
number_sum = 0.0
|
|
def parse_int(val):
|
|
i = int(val)
|
|
global number_sum
|
|
number_sum += i
|
|
return i
|
|
def parse_float(val):
|
|
i = float(val)
|
|
global number_sum
|
|
number_sum += i
|
|
return i
|
|
with open('day12-input', 'r') as file:
|
|
data = json.load(file, parse_float=parse_float, parse_int=parse_int)
|
|
print(number_sum) # Part 1
|
|
|
|
number_sum_2 = 0.0
|
|
def count(obj):
|
|
if isinstance(obj, dict):
|
|
if 'red' in obj.values() or 'red' in obj.keys():
|
|
return
|
|
for i in obj.keys():
|
|
count(i)
|
|
for i in obj.values():
|
|
count(i)
|
|
elif isinstance(obj, list):
|
|
for i in obj:
|
|
count(i)
|
|
elif not isinstance(obj, str):
|
|
global number_sum_2
|
|
number_sum_2 += obj
|
|
|
|
for d in data:
|
|
count(d)
|
|
print(number_sum_2) # Part 2
|