-
算法修炼第03级扑克牌
发布日期:2022-03-24 11:26 点击次数:203① 一堆二十张扑克牌,扑克牌点数到1到20点,每个拍牌的顺序是打乱的。
② 这一叠牌放到我的手上,牌面朝下,不知道点数。
③ 把第一张牌打开,点数是1点,把这一张牌放在一旁,然后取一张牌放入一叠牌的末尾,然后再打开牌,牌的点数为2,把这一张牌让到一旁,再把两张牌依次放入手里这一叠牌的末尾。
④ 再打开最上面的一张牌,点数为3点,把这一张牌放在一旁,再把两张牌依次放入手里这一叠牌的末尾。
⑤ 依次进行,最后一张牌点数为20,再把它放在一旁,请问原来牌的顺序是多少?
思路:正着不好算,可以倒着算。
① 先把最后一张牌,20点,放到手里,然后再收翻19次。
② 把19点的牌,放到手里,放到20点上面,然后翻18次(把20点拿到19上面,再19拿到20点上面....)
③ 把18点的牌,放到手里,放到19点上面,然后翻17次(把20点拿到18点上面,把19点拿到20点上面...)
def get_list(pokes): result = [pokes] # 把 20 点的牌放到手上 for p in range(pokes-1,0,-1): # 不包括 0,循环到 1 for _ in range(p): flip(result) # 翻 XX 次 result.insert(0,p) # 把p放到最顶上 return result def flip(result): poke = result[-1] # 最后一张牌 del result[-1] # 删除最后一张牌 result.insert(0,poke) # 第0 0 号位置插入最后一张牌 if __name__=='__main__': print(get_list(20))运行结果:
[1, 6, 2, 8, 16, 3, 17, 19, 14, 4, 13, 7, 20, 10, 5, 11, 9, 18, 15, 12]"♥我写的笔记,希望对你有帮助♥"
“口头禅”最初是佛教禅宗用语博彩问答,本意指未经心灵证悟就把一些现成的经言和公案挂在嘴边,装作很得道的样子。今指经常挂在口头的词句。口头禅可以是心理的一种反射博彩问答,可反应出说口头禅者的心理状态。打麻将也有很多经典的口头禅哦,下面我来列举一下,有缺少的大家可以补充哦。