一.魔术操作步骤
任意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)