Подарок попал в обычную корзину
with_gift(cart) должна вернуть новую корзину: товары cart плюс "открытка" в конце.
После её вызова открытка появляется и в исходной корзине покупателя. Исправьте функцию.
Подсказка 1 из 2
Параметр cart указывает на тот же список, что и переменная вызывающего кода.
Подсказка 2 из 2
+ создаёт новый список.