fork download
  1. import itertools as it
  2.  
  3. S = 'abc'
  4. S1 = 'abcd'
  5. S2 = 'abcde'
  6. S3 = 'abcdef'
  7. S4 = 'abcdefg'
  8.  
  9. def countK(f, S):
  10. subsets = []
  11. for r in xrange(1, len(S) + 1):
  12. subsets.extend([s for s in f(S, r)])
  13. return subsets
  14.  
  15. print 'number of k permutations for all k with different string lengths'
  16. for s in (S, S1, S2, S3, S4):
  17. print len(s), 'letters:', len(countK(it.permutations, s))
  18.  
  19. print 'number of k combinations for all k with different string lengths'
  20. for s in (S, S1, S2, S3, S4):
  21. print len(s), 'letters:', len(countK(it.combinations, s))
  22.  
Success #stdin #stdout 0.04s 6416KB
stdin
Standard input is empty
stdout
number of k permutations for all k with different string lengths
3 letters: 15
4 letters: 64
5 letters: 325
6 letters: 1956
7 letters: 13699
number of k combinations for all k with different string lengths
3 letters: 7
4 letters: 15
5 letters: 31
6 letters: 63
7 letters: 127