def assign_and_return_positions(alphabet, rotation):
    """ Build and return a dictionary for substitution. 

    """ 
    i = 0
    rotation_dict = dict()

    while i < len(alphabet):
        
        # The modulus function allows an arbitrary wrap on values
        # greater than len(alphabet).
        i_plus_rotation = (i + rotation) % len(alphabet)

        rotation_dict[alphabet[i]] = alphabet[i_plus_rotation]
        i += 1
    

    return rotation_dict