59 lines
1.4 KiB
Python
59 lines
1.4 KiB
Python
![]() |
#!/usr/bin/python
|
||
|
|
||
|
import re
|
||
|
|
||
|
RE_TICKER = re.compile(r'^\s*(.*): (\d+)$')
|
||
|
RE_SUE = re.compile(r'Sue (\d+): (.*)')
|
||
|
|
||
|
|
||
|
def read_file(filename):
|
||
|
file = open(filename, 'r')
|
||
|
while True:
|
||
|
line = file.readline()
|
||
|
if not line:
|
||
|
break
|
||
|
yield line
|
||
|
|
||
|
|
||
|
def main():
|
||
|
|
||
|
ticker_type = dict()
|
||
|
for line in read_file('ticker_type'):
|
||
|
match = re.match(RE_TICKER, line)
|
||
|
if not match:
|
||
|
print "wrong input"
|
||
|
print line
|
||
|
break
|
||
|
ticker_type[match.group(1)] = int(match.group(2))
|
||
|
|
||
|
for line in read_file('input'):
|
||
|
sue = dict()
|
||
|
number = None
|
||
|
match = re.match(RE_SUE, line)
|
||
|
if not match:
|
||
|
print "wrong input"
|
||
|
print line
|
||
|
break
|
||
|
number = match.group(1)
|
||
|
for token in match.group(2).split(','):
|
||
|
match1 = re.match(RE_TICKER, token)
|
||
|
sue[match1.group(1)] = int(match1.group(2))
|
||
|
|
||
|
for k, v in ticker_type.iteritems():
|
||
|
if k in sue:
|
||
|
if k in ['cats', 'trees']:
|
||
|
if sue[k] > v:
|
||
|
del sue[k]
|
||
|
elif k in ['pomeranians', 'goldfish']:
|
||
|
if sue[k] < v:
|
||
|
del sue[k]
|
||
|
else:
|
||
|
if sue[k] == v:
|
||
|
del sue[k]
|
||
|
|
||
|
if len(sue.keys()) == 0:
|
||
|
print number
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
main()
|