卡片遊戲:
-
桌上有一疊拍,從第一張牌(位於頂面的牌)開始從上往下依次編號爲1~n。當至少還剩兩張牌時進行以下操作:把第一張牌扔掉,然後把新的第一張放到整疊牌
-
的最後。輸入n,輸出每次扔掉的牌,以及最後剩下的牌
# input 獲得的是字符串,需要轉換爲int類型
n = int(input("please input a number:"))
# range 參數不包括最後一個,所以需要+1
queue = [i for i in range(1, n+1)]
while True:
head = queue.pop(0)
print(head)
second = queue.pop(0)
queue.append(second)
if len(queue) == 1:
break
這題考量的是隊列的先進先出,MARK