42.py 392 B

123456789101112131415161718192021222324
  1. #!/usr/bin/env python
  2. words = open('words.txt', 'r').read()[1:-1].split('","')
  3. def word_value(word):
  4. return sum([ord(c) - 96 for c in word.lower()])
  5. values = [word_value(w) for w in words]
  6. m = max(values)
  7. triangle = [1]
  8. v = n = 1
  9. while v < m:
  10. n += 1
  11. v = n * (n + 1) / 2
  12. triangle.append(v)
  13. count = 0
  14. for v in values:
  15. if v in triangle:
  16. count += 1
  17. print count