0

# waiting for your suggestions about symmetric difference algorithm

A code I wrote about the symmetric difference algorithm. How could this code be written better? It works fine, but is there a bug you noticed? def sym(a, *args): c = 0 T = True while T: lst = [] for i in a: if i not in args[c]: if i not in lst: lst.append(i) else: continue for i in args[c]: if i not in a: if i not in lst: lst.append(i) else: continue c += 1 a = lst if c == len(args): T = False lst.sort() return lst

3 Answers

+ 2

from : https://www.freecodecamp.org/learn/coding-interview-prep/algorithms/find-the-symmetric-difference
The mathematical term symmetric difference (âł or â) of two sets is the set of elements which are in either of the two sets but not in both. For example, for sets A = {1, 2, 3} and B = {2, 3, 4}, A âł B = {1, 4}.
Symmetric difference is a binary operation, which means it operates on only two elements. So to evaluate an expression involving symmetric differences among three elements (A âł B âł C), you must complete one operation at a time. Thus, for sets A and B above, and C = {2, 3}, A âł B âł C = (A âł B) âł C = {1, 4} âł {2, 3} = {1, 2, 3, 4}.

0

I'm not sure about symmetric deference algorithm.
But your code makes me think of this code
class Point{
constractor(x,y) {
this.x = x;
this.y = y;
}
static slopeAB (A, B) {
const dx = A.x-B.x;
const dy = A.y-B.y;
return dy/dx;
}
}
const P1= new Point(1,2);
const P2 = new Point(3,4);
console.log(Point.slopeAB(P1,P2));

0

Bekir Not sure if this is what you require as I'm pretty weak in math:
def sym(*sets):
result = [ ]
for each in sets:
for elm in each:
if elm in result:
result.remove(elm)
else:
result.append(elm)
return result