1
0
Fork 0

Remove globals and pass on blake8

This commit is contained in:
Pedro de Oliveira 2017-12-08 21:23:18 +00:00
parent d222b38512
commit 6769882ac0
2 changed files with 26 additions and 24 deletions

View File

@ -3,20 +3,18 @@
inputs = ["example.txt", "input.txt"] inputs = ["example.txt", "input.txt"]
#inputs = ["example.txt"]
#inputs = ["input.txt"]
registers = {}
def get_value(register): def get_value(registers, register):
if register not in registers: if register not in registers:
registers[register] = 0 registers[register] = 0
return int(registers[register])
def compare(operation, register, b): return registers[register]
def compare(registers, operation, register, b):
result = False result = False
a = get_value(registers, register)
a = get_value(register)
b = int(b) b = int(b)
if operation == '>': if operation == '>':
@ -42,25 +40,26 @@ def compare(operation, register, b):
def solve(filename): def solve(filename):
registers = {}
with open(filename, "r") as fp: with open(filename, "r") as fp:
for line in fp: for line in fp:
values = line.split() values = line.split()
if compare(values[5], values[4], values[6]): if compare(registers, values[5], values[4], values[6]):
if values[1] == 'inc': if values[1] == 'inc':
registers[values[0]] = get_value(values[0]) + int(values[2]) registers[values[0]] = (get_value(registers, values[0])
+ int(values[2]))
elif values[1] == 'dec': elif values[1] == 'dec':
registers[values[0]] = get_value(values[0]) - int(values[2]) registers[values[0]] = (get_value(registers, values[0])
- int(values[2]))
biggest = 0 biggest = 0
for i in registers: for i in registers:
print(i, registers[i])
if int(registers[i]) > biggest: if int(registers[i]) > biggest:
biggest = int(registers[i]) biggest = int(registers[i])
return biggest return biggest
for puzzle in inputs: for puzzle in inputs:
print(puzzle, solve(puzzle)) print(puzzle, solve(puzzle))
registers.clear()

View File

@ -3,17 +3,18 @@
inputs = ["example.txt", "input.txt"] inputs = ["example.txt", "input.txt"]
registers = {}
def get_value(register):
def get_value(registers, register):
if register not in registers: if register not in registers:
registers[register] = 0 registers[register] = 0
return int(registers[register]) return int(registers[register])
def compare(operation, register, b):
result = False
a = get_value(register) def compare(registers, operation, register, b):
result = False
a = get_value(registers, register)
b = int(b) b = int(b)
if operation == '>': if operation == '>':
@ -39,17 +40,20 @@ def compare(operation, register, b):
def solve(filename): def solve(filename):
registers = {}
big = 0 big = 0
with open(filename, "r") as fp: with open(filename, "r") as fp:
for line in fp: for line in fp:
values = line.split() values = line.split()
if compare(values[5], values[4], values[6]): if compare(registers, values[5], values[4], values[6]):
if values[1] == 'inc': if values[1] == 'inc':
registers[values[0]] = get_value(values[0]) + int(values[2]) registers[values[0]] = (get_value(registers, values[0])
+ int(values[2]))
if registers[values[0]] > big: if registers[values[0]] > big:
big = registers[values[0]] big = registers[values[0]]
elif values[1] == 'dec': elif values[1] == 'dec':
registers[values[0]] = get_value(values[0]) - int(values[2]) registers[values[0]] = (get_value(registers, values[0])
- int(values[2]))
if registers[values[0]] > big: if registers[values[0]] > big:
big = registers[values[0]] big = registers[values[0]]
@ -58,4 +62,3 @@ def solve(filename):
for puzzle in inputs: for puzzle in inputs:
print(puzzle, solve(puzzle)) print(puzzle, solve(puzzle))
registers.clear()