find-num-1.py 860 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. def find_num(alist, T):
  4. mark = {}
  5. for v in alist:
  6. mark[v] = True
  7. result = []
  8. for v in alist:
  9. if not mark[v]:
  10. continue
  11. if v == T:
  12. result.append([v])
  13. mark[v] = False
  14. continue
  15. if mark.__contains__(T-v) and mark[T - v]:
  16. result.append([v, T - v])
  17. mark[v] = False
  18. mark[T - v] = False
  19. return result
  20. if __name__ == '__main__':
  21. n = 0
  22. T = 0
  23. while True:
  24. print("input T:")
  25. T = int(input())
  26. print('input data length:')
  27. n = int(input())
  28. print('input digits: ')
  29. alist = []
  30. for i in range(0, n):
  31. digit = int(input())
  32. alist.append(digit)
  33. result = find_num(alist, T)
  34. print(result)