【魔术操作步骤】
任意4张扑克牌,叠在一起对半撕开,再叠在一起;
1、名字有几个字,就把几张扑克,依次放到最下面;
2、再将最上面3张,插到剩下扑克牌的中间任意位置;
3、拿出最上面一张扑克牌藏起来;
4,任意拿出一张、两张或三张扑克牌,再插到剩下扑克牌的中间任意位置;
5,如果是男生拿一张,如果是女生拿两张,扔出去;
6、见证奇迹的时刻,每说一个字,拿一张扑克放到最下面;
7,好运留下来,烦恼抛出去。每说一句话,操作一次。依次一张留下,一张抛出去,留下的依次放到最下面。
```
import random
#4张扑克牌撕开,从上面向下的顺序
扑克牌 = ["1a","2a","3a","4a","1b","2b","3b","4b"]
print(f"扑克牌:{扑克牌}")
#名字几个字,往下放几张 #随机名字字数 a <= N <= b random.randint(a,b)
随机名字字数 = random.randint(2,7)
print(f"随机名字字数:{随机名字字数}")
名字牌 = 扑克牌[:随机名字字数]
其他牌 = 扑克牌[随机名字字数:]
print(f"名字牌:{名字牌},其他牌:{其他牌}")
新扑克牌_1 = 其他牌+名字牌
print(f"名字放最下面,新扑克牌_1:{新扑克牌_1}n")
#拿最上面的三张放进牌中间
上面三张牌 = 新扑克牌_1[:3]
其他牌 = 新扑克牌_1[3:]
print(f"上面三张牌:{上面三张牌}, 其他牌{其他牌}")
牌中随机位置 = random.randint(1,3)
print(f"牌中随机位置:{牌中随机位置+1}")
新扑克牌_2 = 其他牌[:牌中随机位置] + 上面三张牌 + 其他牌[牌中随机位置:]
print(f"上面三张放中间,新扑克牌_2:{新扑克牌_2}n")
#最上面的那个藏起来
藏牌 = 新扑克牌_2[0]
新扑克牌_2.pop(0)
#南方人1张/北方人2张、不确定3张,放进牌中间
随机地域牌数 = random.randint(1,3)
剩余牌数 = 7 - 随机地域牌数
地域牌 = 新扑克牌_2[:随机地域牌数]
其他牌 = 新扑克牌_2[随机地域牌数:]
print(f"地域牌:{地域牌}, 其他牌{其他牌}")
牌中随机位置 = random.randint(1,剩余牌数-1)
print(f"牌中随机位置:{牌中随机位置+1}")
新扑克牌_3 = 其他牌[:牌中随机位置]+地域牌+其他牌[牌中随机位置:]
print(f"地域牌放中间,新扑克牌_3:{新扑克牌_3}n")
#男生1张、女生2张,扔出去
随机性别 = random.randint(1,2)
性别牌 = 新扑克牌_3[:随机性别]
其他牌 = 新扑克牌_3[随机性别:]
print(f"性别牌:{性别牌}, 其他牌{其他牌}")
新扑克牌_4 = 其他牌
print(f"新扑克牌_4: {新扑克牌_4}")
#七字口诀,见证奇迹的时刻
print("见证奇迹的时刻")
#好运往下放,烦脑丢出去
剩余牌数 = len(新扑克牌_4)
while(剩余牌数!=1):
#往下放
旧扑克牌 = 新扑克牌_4
好运往下放 = 新扑克牌_4[1:]+新扑克牌_4[:1]
print(f"藏牌:{藏牌},旧扑克牌:{旧扑克牌} => n好运往下放:{好运往下放}")
#丢出去
旧扑克牌 = 新扑克牌_4
新扑克牌_4.pop(0)
烦脑丢出去 = 新扑克牌_4
print(f"藏牌:{藏牌},旧扑克牌:{旧扑克牌} => n烦恼丢出去:{烦脑丢出去}")
剩余牌数 = len(新扑克牌_4)
```
扑克牌:['1a', '2a', '3a', '4a', '1b', '2b', '3b', '4b']
随机名字字数:4
名字牌:['1a', '2a', '3a', '4a'],其他牌:['1b', '2b', '3b', '4b']
名字放最下面,新扑克牌_1:['1b', '2b', '3b', '4b', '1a', '2a', '3a', '4a']
上面三张牌:['1b', '2b', '3b'], 其他牌['4b', '1a', '2a', '3a', '4a']
牌中随机位置:3
上面三张放中间,新扑克牌_2:['4b', '1a', '1b', '2b', '3b', '2a', '3a', '4a']
地域牌:['1a', '1b'], 其他牌['2b', '3b', '2a', '3a', '4a']
牌中随机位置:2
地域牌放中间,新扑克牌_3:['2b', '1a', '1b', '3b', '2a', '3a', '4a']
性别牌:['2b', '1a'], 其他牌['1b', '3b', '2a', '3a', '4a']
新扑克牌_4: ['1b', '3b', '2a', '3a', '4a']
见证奇迹的时刻
藏牌:4b,旧扑克牌:['1b', '3b', '2a', '3a', '4a'] =>
好运往下放:['3b', '2a', '3a', '4a', '1b']
藏牌:4b,旧扑克牌:['3b', '2a', '3a', '4a'] =>
烦恼丢出去:['3b', '2a', '3a', '4a']
藏牌:4b,旧扑克牌:['3b', '2a', '3a', '4a'] =>
好运往下放:['2a', '3a', '4a', '3b']
藏牌:4b,旧扑克牌:['2a', '3a', '4a'] =>
烦恼丢出去:['2a', '3a', '4a']
藏牌:4b,旧扑克牌:['2a', '3a', '4a'] =>
好运往下放:['3a', '4a', '2a']
藏牌:4b,旧扑克牌:['3a', '4a'] =>
烦恼丢出去:['3a', '4a']
藏牌:4b,旧扑克牌:['3a', '4a'] =>
好运往下放:['4a', '3a']
藏牌:4b,旧扑克牌:['4a'] =>
烦恼丢出去:['4a'] 作者:纯水_I-Like-Water https://www.bilibili.com/read/cv31091961/ 出处:bilibili
参考:
https://www.bilibili.com/read/cv31091961/
https://mp.weixin.qq.com/s/_MTU85BNW5Z2LnQNFUbjeg
原文始发于微信公众号(Hacking黑白红):2024央视春晚刘谦魔术模拟破解 (Python实现)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论