2018-12-09:Python每日一题

#181

题目:
扑克牌洗牌大家都会,我们就用python来做个洗牌的程序,规则是将牌平分为两半,再将两部分均匀的一张摞一张合在一起,重复这个过程多次后就会发现最终牌的次序又回到洗牌前的。
先以6张牌举个例子:
原牌序就用1, 2, 3, 4, 5, 6表示
第一次洗牌,分成1, 2, 3和4, 5 ,6两部分,一张摞一张合在一起成为1, 4, 2, 5, 3, 6
第二次洗牌,变成1, 5, 4, 3, 2, 6
第三次,1, 3, 5, 2, 4, 6
第四次又变回了1, 2, 3, 4, 5, 6

现在你要编写一个函数,参数是牌的数量(要求是偶数),打印出每次洗牌后的牌的次序,直到又回到洗牌前的原始次序为止,并打印总的洗牌次数。
如牌的数量为6,则打印:

1, 4, 2, 5, 3, 6
1, 5, 4, 3, 2, 6
1, 3, 5, 2, 4, 6
1, 2, 3, 4, 5, 6
总的洗牌次数为4

 

你可能感兴趣的:(Python每日一练)