Pseudo-truly random number generator
Couple of minor simplifications:



nums =[]
...
nums.append(random.sample(...))
nums = nums[0]


could be replaced with:

nums = random.sample(...)




The add/jugglenum loop calculation could be done with:

jugglenum = abs(sum(nums[::2]) - sum(nums[1::2]))




This code:

for i, x in enumerate(rand):
    rand[i] = ''.join(random.sample(str(x), len(str(x))))


could be replaced with:

rand = [ ''.join(random.sample(s, len(s)) for s in (str(x) for x in rand)]


which eliminates the enumeration and avoids turning x into a str(x) twice.



I don’t see strs being used anywhere, so the code that calculates it can be removed.