社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

2024央视春晚刘谦魔术模拟破解 (Python实现)

Hacking黑白红 • 2 年前 • 569 次点击  


【魔术操作步骤】

任意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



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/166882