Skip to content

Commit b654b2e

Browse files
authored
Seeded Random Number Generator (#11)
Added optional cmdline parameter -s, --seed to generate RNG, useful to verify test cases. When --seed parameter is not provided, reverts to python default implementation to generate random number
1 parent 607f3db commit b654b2e

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

school_center.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,12 @@ def is_allocated(scode1: str, scode2:str) -> bool:
150150
parser.add_argument('centers_tsv', default='centers.tsv', help="Tab separated (TSV) file containing center details")
151151
parser.add_argument('prefs_tsv', default='prefs.tsv', help="Tab separated (TSV) file containing preference scores")
152152
parser.add_argument('-o', '--output', default='school-center.tsv', help='Output file')
153+
parser.add_argument('-s', '--seed', action='store', metavar='SEEDVALUE', default=None, type=float, help='Initialization seed for Random Number Generator')
154+
153155
args = parser.parse_args()
154156

157+
random = random.Random(args.seed) #overwrites the random module to use seeded rng
158+
155159
schools = sorted(read_tsv(args.schools_tsv), key= school_sort_key)
156160
centers = read_tsv(args.centers_tsv)
157161
centers_remaining_cap = {c['cscode']:int(c['capacity']) for c in centers}

0 commit comments

Comments
 (0)