Vem betalar maten? - Python edition

Run Settings
LanguagePython
Language Version
Run Command
import uuid def main(): number_of_runs = 5 file = 'names.txt' runs = scramble_multiple_times(file, number_of_runs) print_result(list(runs)) def scramble(file): scramble_multiple_times(file, 1) def scramble_multiple_times(file, num): names = get_names(file) scrambler = Scrambler(names) for i in range(0, num): yield scrambler.scramble() def print_result(runs): accents = ["-> ", " <-"] print(runs[len(runs)-1][0] + " betalar") pre_list = "" if len(runs) == 1: print() print("Den slumpat ordnade listan:") else: pre_list = "#{}: " + pre_list print("(från sista av " + str(len(runs)) + " slumpningar)") print() print("De slumpat ordnade listorna:") for i in range(0,len(runs)): runs[i][0] = accents[0] + runs[i][0] + accents[1] print(pre_list.format(str(i+1)) + ", ".join(runs[i])) def get_names(file): with open(file) as f: names = f.readlines() names = [name.strip() for name in names] names = list(filter(lambda name : name != "" and name[0] != "#", names)) return names class NameIdPair: def __init__(self, name): self.name = name self.uuid = uuid.uuid4() class Scrambler: def scramble(self): pairs = [ NameIdPair(name) for name in self.names] pairs = sorted(pairs, key=lambda pair: pair.uuid) self.names = [pair.name for pair in pairs] return self.names def __init__(self, names): self.names = names main() # # ''' end of program ''' # #
Linus Kakis Jesper Nojan Thomas Erik #Johan #Jonas #Daniel
Editor Settings
Theme
Key bindings
Full width
Lines