12_json.py 450 B

123456789101112131415161718
  1. #!/usr/bin/env python3
  2. import sys
  3. import json
  4. import re
  5. from pprint import pprint
  6. def jsum(data, ignore=None):
  7. if isinstance(data, int):
  8. return data
  9. if isinstance(data, list):
  10. return sum(jsum(v, ignore) for v in data)
  11. if isinstance(data, dict) and ignore not in data.values():
  12. return sum(jsum(v, ignore) for v in data.values())
  13. return 0
  14. data = json.load(sys.stdin)
  15. print(jsum(data))
  16. print(jsum(data, 'red'))