Nested loops over rows and columns
Put the drums in a list that lines up with the rows — drums = [hihat, snare, kick] — then a loop over rows with a loop over columns inside plays the whole grid.
Challenge A:drums = [hihat, snare, kick] and grid has one row per drum. Loop r over range(3) and c over range(4): if grid[r][c] == 1, call drums[r](c + 1).