卡片游戏:
-
桌上有一叠拍,从第一张牌(位于顶面的牌)开始从上往下依次编号为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