美文网首页日更成长营自学编程Python
自学Python:破解魔术师手中的牌

自学Python:破解魔术师手中的牌

作者: 小强聊成长 | 来源:发表于2021-11-28 09:50 被阅读0次

魔术师利用一副牌中的13张黑桃,预先将它们排好后叠在一起,并使牌面朝下。然后他对观众说:我不看牌,只要数数就可以猜到每张牌是什么,我大声数数,你们听,不信你们就看。魔术师将从最上面的一张牌开始数,第一张把它翻过来正好是黑桃A,他将黑桃A放在桌子上,然后按顺序从上到下数手中的余牌,第二次数1、2,将第一张牌放在这叠牌的下面,将第二张牌翻过来,正好是黑桃2,也将它放在桌子上,第三次数1、2、3,将前面两张依次放在这叠牌的下面,再翻第三张牌正好是黑桃3,这样依次进行,将13张牌全部翻出来,准确无误。

请问魔术师手中的牌原始次序是怎样安排的?

拆解问题如下:假设桌子上有13个空盒子排成一圈,设定其中一个盒子序号为1,将黑桃A放入1号盒子中,接着从下一个空盒子开始重新计数,当数到第2个空盒子时,将黑桃2放入其中。然后再从下一个空盒子开始重新计数,数到第3个空盒子时,将黑桃3放入其中,这样依次进行下去,直到将13张牌全部放入空盒子中为止。需要注意的是,在计数过程中要跳过那些已放入牌的盒子,而只对空盒子计数。最后牌在盒子中的顺序就是魔术师手中牌的顺序。

下面直接上代码:

########################

if __name__ == '__main__':

    a = [0] * 14  # 初始化列表,用来存放13张牌

    j = 1  # j是数组的下标,空盒子的序号

    print("魔术师手中的牌原始次序是:")

    # 外循环13次,每次将一张牌放入空盒中

    for i in range(1, 14):  # i表示牌的序号

        # n用来记录当前的空盒序号,初值为1

        n = 1  # 每次都从一个空盒开始重新计数

        while n <= i:

            if j > 13:

                j = 1

            if a[j]:  # 盒子非空,跳过该盒子

                j += 1

            else:

                if n == i:  # 判断该盒子是否为第i个空盒

                    a[j] = i  # 是则将i存入

                j += 1

                n += 1

    print(a[1:])

########################

执行结果如下:

魔术师手中的牌原始次序是:

[1, 8, 2, 5, 10, 3, 12, 11, 9, 4, 7, 6, 13]

________________END______________

相关文章

  • 自学Python:破解魔术师手中的牌

    魔术师利用一副牌中的13张黑桃,预先将它们排好后叠在一起,并使牌面朝下。然后他对观众说:我不看牌,只要数数就可以猜...

  • 魔术师发牌问题 -- python实现

    问题描述 魔术师手中有A、2、3……J、Q、K十三张黑桃扑克牌。在表演魔术前,魔术师已经将他们按照一定的顺序叠放好...

  • 度影塔罗|问对方的感情状态想法

    问卜时间:2018年7月21日下午16:45 解牌思路 这张牌的核心牌是魔术师逆位,很明显,这名男子会体现魔术师的...

  • 塔罗日记12.6

    韦特牌:魔术师 基本牌意: 对偶性:花言巧语,小心被蒙蔽 读牌:

  • 魔术师发牌问题

      一位魔术师掏出一叠扑克牌,魔术师取出其中13张黑桃,洗好后,把牌面朝下。说:“我不看牌,只数一数就能知道每张牌...

  • 手中的牌

    今天我读了手中的牌。 好句有:在轻松阅读中,有一份新鲜的感觉,愉悦的享受,不知不觉中,为自己点一盏心灯,慢慢去读吧...

  • 手中的牌

    小时候跟着外婆在乡下,外婆是我手里的牌农忙时节田野是我们的游乐园,成群的土坷垃是玩具大人们的玩具是镰刀锄头铁锹耕犁...

  • 如何理解魔术师?

    每一张牌都有它独特的魅力、独特的含义,你怎么理解魔术师这张牌呢?或者,在占卜中遇到魔术师,你该如何解牌呢? 占星对...

  • 每个人都可以做占卜师(1)

    魔术师逆位 魔术师(The Magician)牌面解读 ①牌面为罗马神话的墨丘利,有著自信的笑容和炯炯有神的眼睛。...

  • 扑克牌

    一副扑克牌, 五十四张, 承载着历法, 见证着历史! 在魔术师手中, 是一场场精彩纷呈的表演, 使人目瞪口呆! 在...

网友评论

    本文标题:自学Python:破解魔术师手中的牌

    本文链接:https://www.haomeiwen.com/subject/wlzntrtx.html