solution 03p1
This commit is contained in:
59
03/03p1.py
59
03/03p1.py
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
sol = 0
|
||||
inputfile = open("inputtest.txt", "r")
|
||||
inputfile = open("input.txt", "r")
|
||||
lines = inputfile.readlines()
|
||||
nums = {}
|
||||
syms = {}
|
||||
@@ -28,17 +28,64 @@ for line in range(len(lines)):
|
||||
nums[line] = linenumdict
|
||||
syms[line] = linesymdict
|
||||
for ykey in nums:
|
||||
for xkey in nums[ykey].keys():
|
||||
for xkey in nums[ykey]:
|
||||
hasNeigh= False
|
||||
startx = xkey - 1
|
||||
endx = xkey + len(nums[ykey][xkey]) + 1
|
||||
endx = xkey + len(nums[ykey][xkey])
|
||||
starty = ykey - 1
|
||||
endy = ykey + 1
|
||||
for y in range(starty, endy):
|
||||
for y in range(starty, endy + 1):
|
||||
if y in syms:
|
||||
for x in range(startx, endx):
|
||||
for x in range(startx, endx + 1):
|
||||
if x in syms[y].keys():
|
||||
hasNeigh = True
|
||||
print(nums[ykey][xkey] + 'has Neigh: ' + syms[y][x])
|
||||
hasNeigh = True
|
||||
if hasNeigh:
|
||||
sol += int(nums[ykey][xkey])
|
||||
print(sol)
|
||||
#sometest:
|
||||
lineno = 0
|
||||
for line in lines:
|
||||
line = line.replace('*', '.')
|
||||
line = line.replace('=', '.')
|
||||
line = line.replace('+', '.')
|
||||
line = line.replace('%', '.')
|
||||
line = line.replace('$', '.')
|
||||
line = line.replace('#', '.')
|
||||
line = line.replace('-', '.')
|
||||
line = line.replace('&', '.')
|
||||
line = line.replace('@', '.')
|
||||
line = line.replace('/', '.')
|
||||
while not line.find('..') < 0:
|
||||
line = line.replace('..', '.')
|
||||
line = line.replace('.', ' ')
|
||||
line = line.replace('\n', '')
|
||||
line = line.lstrip()
|
||||
listnum = line.split()
|
||||
diff = len(listnum)-len(nums[lineno])
|
||||
if diff != 0:
|
||||
print(diff)
|
||||
lineno += 1
|
||||
|
||||
lineno = 0
|
||||
for line in lines:
|
||||
line = line.replace('1', '.')
|
||||
line = line.replace('2', '.')
|
||||
line = line.replace('3', '.')
|
||||
line = line.replace('4', '.')
|
||||
line = line.replace('5', '.')
|
||||
line = line.replace('6', '.')
|
||||
line = line.replace('7', '.')
|
||||
line = line.replace('8', '.')
|
||||
line = line.replace('9', '.')
|
||||
line = line.replace('0', '.')
|
||||
while not line.find('..') < 0:
|
||||
line = line.replace('..', '.')
|
||||
line = line.replace('.', ' ')
|
||||
line = line.replace('\n', '')
|
||||
line = line.lstrip()
|
||||
listnum = line.split()
|
||||
diff = len(listnum)-len(syms[lineno])
|
||||
if diff != 0:
|
||||
print(diff)
|
||||
lineno += 1
|
||||
|
Reference in New Issue
Block a user