Advertisement
Guest User

Untitled

a guest
Nov 28th, 2014
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. #-*- coding: utf-8 -*-
  2.  
  3. import itertools
  4.  
  5. def readData(data):
  6. numbers = []
  7. with open(data, 'r') as f:
  8. for line in f:
  9. numbers.append(int(line))
  10. return numbers
  11.  
  12.  
  13. def isSum(numbers, target):
  14. # checks if sum of positive numbers < target or sum of negative numbers > target
  15. sumpos = [x for x in numbers if x >= 0]
  16. sumneg = [x for x in numbers if x < 0]
  17. if (target > sum(sumpos) or target < sum(sumneg)):
  18. return False
  19.  
  20. for i in range(0, len(numbers)+1):
  21. for subset in itertools.combinations(numbers, i):
  22. if sum(subset) == target:
  23. return True
  24. return False
  25.  
  26.  
  27. def main():
  28. data = readData('integers.txt')
  29. A = data[0:25]
  30. isSum(A, 1039234)
  31.  
  32. if __name__ == '__main__':
  33. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement