Rosetta Code:Solve a Task
100 Doors Python 3.5.2
main.py:
- 100 Doors
from funcs import *
- 'o' represents open
- 'c' represents closed
- Set up dictionary of doors (all open to start)
door_dict = {} for m in range(1,101): #all doors closed
door_dict[m] = 'c'
for q in range(1,101):
frequency = q tlist = to_toggle(frequency) new_dict = toggle_doors(door_dict, tlist)
print(new_dict)
funcs.py:
def to_toggle(x):
toggle_list = [] freq = x to_add = freq while to_add <= 100: toggle_list.append(to_add) to_add += freq return toggle_list
def toggle_doors(doors, tlist):
toglist = tlist door_dict = doors for k in toglist: print(k) door_num = k if door_dict[door_num] == 'c': door_dict[door_num] = 'o'
elif door_dict[door_num] == 'o': door_dict[door_num] = 'c' return door_dict