Python
import math

candidates = {
    "Rebecca Osalavski": (9, 4, 8,),
    "Marilyn Meyers": (-2, -6, 12,),
    "Devon Wilde": (-6, -7, -1,)
    
}

points = {
    "Becky": (5, -2, 9), 
    "Sharon": (3, -6, 1), 
    "Bart": (9, 8, -6),
    "Alice": (1, 2, 4)
}


# FUNCS:
def difference(num_1, num_2):
    #print(f"Num_1 is {num_1} and Num_2 is {num_2}")
    diff_1 = num_1-num_2
    #print(f"diff_1 is {diff_1}")
    diff_2 = num_2-num_1
    #print(f"diff_2 is {diff_2}")
    if diff_1 >= 0:
        return diff_1
    else:
        return diff_2

def tup_difference(tup_1, tup_2):
    A = 0
    B = 0
    C = 0
    index = 0
    for n in tup_1:
        d = difference(tup_2[index], n)
        if index == 0:
	        A = d
        elif index == 1:
	        B = d
        elif index == 2:
	        C = d
        index += 1
    return (A, B, C)
            
            
def distance(tup):
    l = 0
    for v in tup:
        l += v * v
    # print(f"The root of {l} is {round(math.sqrt(l), 3)}")
    rt = str(round(math.sqrt(l), 3))
    return rt
    
def get_distance(tup_1, tup_2):
    diff = tup_difference(tup_1, tup_2)
    dis = distance(diff)
    return dis
    
def affiliation(distances):
    dist_list = list(distances.values())
    lowest = min(dist_list)
    inx = dist_list.index(lowest)
    can_names = list(distances.keys())
    match = can_names[inx]
    return match
    
ann_str = ""
for c in candidates.keys():
    ann_str += f"{c}: {candidates[c]}\n"
    
print(ann_str)

for name, p_coords in points.items():
    #For every participant:
    print(f"{name}: {p_coords}")
    distances = {}
    for can, c_coords in candidates.items():
        #Go through each candidate and:
        # print(f"Candidate name: {can} and coords: {c_coords}")
        p_distance = get_distance(p_coords, c_coords)
        # print(p_distance)
        #Find distance between the candidate and participant beliefs
        distances[can] = float(p_distance)
        #Add to dict
    print(f"Voting: {affiliation(distances)} {candidates[affiliation(distances)]}\n")
Rebecca Osalavski: (9, 4, 8)
Marilyn Meyers: (-2, -6, 12)
Devon Wilde: (-6, -7, -1)

Becky: (5, -2, 9)
Voting: Rebecca Osalavski (9, 4, 8)

Sharon: (3, -6, 1)
Voting: Devon Wilde (-6, -7, -1)

Bart: (9, 8, -6)
Voting: Rebecca Osalavski (9, 4, 8)

Alice: (1, 2, 4)
Voting: Rebecca Osalavski (9, 4, 8)