problem42.py 370 B

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