refactor: pairing algorithm
This commit is contained in:
parent
cd5783b9f0
commit
e3dd8fe2e1
1 changed files with 4 additions and 14 deletions
|
|
@ -15,20 +15,10 @@ class Group(BaseModel):
|
|||
|
||||
@staticmethod
|
||||
def pair(names: list[str]) -> dict[str, str]:
|
||||
names_copy = names[:]
|
||||
random.shuffle(names_copy)
|
||||
|
||||
pairings = {}
|
||||
for i, name in enumerate(names):
|
||||
pair = names_copy[i]
|
||||
while pair == name:
|
||||
random.shuffle(names_copy)
|
||||
pair = names_copy[i]
|
||||
|
||||
pairings[name] = pair
|
||||
|
||||
return pairings
|
||||
|
||||
random.shuffle(names)
|
||||
names_copy = names[1:]
|
||||
names_copy.append(names[0])
|
||||
return dict(zip(names, names_copy))
|
||||
|
||||
class IRepo(ABC):
|
||||
@abstractmethod
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue