python魔术师算法
最近刚开学,专业课新开了一门《python程序设计基础》,不得不说python真是火,我们终于赶上潮流了,python非常优雅,也非常严格,刚学了条件语句,我就突发奇想,想到了初中时一个同学,跟我炫技过的一个扑克魔术,虽然这个魔术我非常熟悉,但是它背后的数学原理我一直搞不懂(我猜测是某种排序算法),我决定用python的条件语句实现它。
首先,我先说一下这个魔术的实现步骤,从扑克牌中随机找15张牌,抽出一张牌知道结果后放回,然后15张牌平均分成三份,经提示后反复洗牌进行排序,三次排序后,目标牌一定会在八号牌的位置上。
实现过程
1、15张随机的牌,我们可以用python内置的random模块实现
2,15张牌随机组成一个数字列表,切片读取分成三组,注意是顺序分组
切片的步长为3
3、输入:用户输入大,小判断位置
4、一个if语句嵌套包含三个条件判断,三个语句判断为一轮,三轮以后输出结果并进行验证
代码片段
random_list=[2,34,5,7,64,9,87,53,77,81,100,110,44,55,28]
print(random_list)
print("请随意选取上面一组随机数组中的任意一个数,请你记下来无需输入!")
print("现在计算机把数组平均分成三组数,请你按照指令进行操作")
#列表读取,第一次排序重组
print("现在让我们进行第一轮游戏")
random_list1=