def generate_snake_order(teams, n_rounds):
    """Create a snake draft order

    Args:
        teams (iterable): e.g. ('Team1', 'Team2', 'Team3')
        n_rounds (int): number of rounds in draft

    Returns:
        list

    Examples:
        >>>generate_snake_order(teams=['A', 'B', 'C'], n_rounds=4)
        ['A', 'B', 'C', 'C', 'B', 'A', 'A', 'B', 'C', 'C', 'B', 'A']
    """
    if n_rounds % 2 == 0:
        return (teams + teams[::-1]) * int(n_rounds / 2)
    else:
        return generate_snake_order(teams, int(n_rounds -1)) + teams