Skip to content

Instantly share code, notes, and snippets.

@stephengruppetta
Created June 25, 2023 08:46
Show Gist options
  • Save stephengruppetta/89974cab0388170398e16532e2b6c284 to your computer and use it in GitHub Desktop.
Save stephengruppetta/89974cab0388170398e16532e2b6c284 to your computer and use it in GitHub Desktop.
import random
class RandomWalk:
def __init__(self, iterable):
self.values = list(iterable)
def __iter__(self):
return RandomWalkIterator(self)
class RandomWalkIterator:
def __init__(self, random_walk):
self.random_walk = random_walk
self.random_indices = list(
range(len(random_walk.values))
)
random.shuffle(self.random_indices)
self.idx = 0
captains = RandomWalk(
[
"Pike",
"Kirk",
"Picard",
"Sisko",
"Janeway",
"Riker",
]
)
for captain in captains:
print(captain)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment