选B.
问句用did提问,就要用did回答.
肯定回答用:Yes,I did.否定回答用:No,I didn't.
由题中“but only one.”可知要做肯定回答.
译为A:你在礼品商店买了许多纪念品吗?
B:是的,但是只买了一个.