#Ava Smith #smi01868 #CSCI 1133H Section 001 #Assignment 3 #====================== #Purpose: To find the number of unique triples in a list that add up to a target value #Input Param: num_list -> a list of integers, target -> an integer that is the target value for the sum of the numbers #Return value: retunrs num_triples an int ranging from 0 to infinity #======================= def triples(num_list, target): num_triples = 0 num_list.sort() for x in range(0, len(num_list)): for y in range(0, len(num_list)): for z in range(0, len(num_list)): if x != z and x != y and z != y: if num_list[x] + num_list[y] + num_list[z] == target: if x < z and z < y: if(num_list[x] <= num_list[y] and num_list[x] <= num_list[z]): if(num_list[y] <= num_list[z]): print(num_list[x], "+", num_list[y], "+", num_list[z], "=", target) num_triples +=1 else: print(num_list[x], "+", num_list[z], "+", num_list[y], "=", target) num_triples += 1 elif(num_list[y] <= num_list[x] and num_list[y] <= mum_list[z], "=", target): if(num_list[x] <= num_list[y]): print(num_list[y], "+", num_list[x], "+", num_list[z], "=", target) num_triples += 1 else: print(num_list[y], "+", num_list[z], "+", num_list[x], "=", target) num_triples += 1 else: if(num_list[x] <= num_list[y]): print(num_list[z], "+", num_list[x], "+", num_list[y], "=", target) num_triples += 1 else: print(num_list[z], "+", num_list[y], "+", num_list[z], "=", target) num_triples +=1 return num_triples if __name__ == "__main__": print("0", triples([1,2,3,4], 4)) print("3", triples([6, 5, 0, 1, -4, 4, -1], 10)) print("0", triples([], 10)) print("1", triples([2,2,2], 6))