вы переопределяете список xy каждый раз, поэтому все списки удаляются, только последний будет сохранен.
Вот код, немного отредактированный для его работы:
end = "n"
xy = []
while (end == "n"):
a = int(input("Input x value: "))
b = int(input("Input y value: "))
xy.append([a,b])
end = input("Last entries? [y/n] ")
print (xy)
С этим кодом вам даже не нужно использовать group
и position
переменные.
Вы можете упростить его более, но менее читабельно:
end = "n"
xy = []
while (end == "n"):
xy.append([int(input("Input x value: ")), int(input("Input y value: "))])
end = input("Last entries? [y/n] ")
print (xy)