Advertisement
empirical518

Rosalind - Enumerating Gene Orders by u/purplevom

Jul 22nd, 2018
795
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. n = int(input("Input 'n'"))
  2. intlist = []
  3.  
  4. i = 1
  5. while n >= i:
  6. intlist.append(i)
  7. i += 1 # I don’t understand why this won’t work if it’s not in ascending order
  8.  
  9. total = 1
  10. for item in range(0, len(intlist), 1):
  11. total *= intlist[item]
  12.  
  13. intset = set([])
  14.  
  15. while len(intset) < total:
  16. intset.add(str(intlist))
  17. k = l = None
  18.  
  19. for i in range(0, len(intlist)-1):
  20. if intlist[i] < intlist[i+1]:
  21. k = I # Looking for last occurrence in number set where I is less than it’s neighbor?
  22.  
  23. if k == None:
  24. break
  25.  
  26. for i in range(k+1, len(intlist)):
  27. if intlist[k] < intlist[i]:
  28. l = I # Doing the same as first for loop? Set to new variable?
  29.  
  30. intlist[k], intlist[l] = intlist[l], intlist[k]
  31. intset.add(str(intlist))
  32. intlist[k+1:] = intlist[k+1:][::-1] # In particular this line
  33. intset.add(str(intlist))
  34.  
  35. intlist = list(intset)
  36. print(len(intlist))
  37.  
  38. for i in range(0, len(intlist)):
  39. print(intlist[i].replace('[', '').replace(']', '').replace(',', ''))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement