02_password.py 456 B

1234567891011121314151617
  1. #!/usr/bin/env python3
  2. import sys
  3. def parse(line):
  4. nums, char, pw = line.rstrip().split()
  5. lo, hi = nums.split('-')
  6. return int(lo), int(hi), char[0], pw
  7. def valid1(lo, hi, char, pw):
  8. return lo <= pw.count(char) <= hi
  9. def valid2(lo, hi, char, pw):
  10. return lo == hi or (pw[lo - 1] + pw[hi - 1]).count(char) == 1
  11. passwords = list(map(parse, sys.stdin))
  12. print(sum(valid1(*p) for p in passwords))
  13. print(sum(valid2(*p) for p in passwords))