Rosetta Code:Solve a Task

From Rosetta Code
Revision as of 01:48, 20 June 2018 by rosettacode>ParselPy (Python 3 solution to 100 Doors)

100 Doors Python 3.5.2

main.py:

  1. 100 Doors

from funcs import *

  1. 'o' represents open
  2. 'c' represents closed
  1. 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