|
发表于 2024-3-3 13:00:03
|
显示全部楼层
import random
#初始化四张牌
cards = ["A","B","C","D"]
#打乱
random.shuffle(cards)
#模拟对折撕开并重新洗牌
tornCards = cards + cards
print("初始化并撕开的牌组:",tornCards)
#假设用户名长为3
nameLength = random.randint(1,9)
#根据名字长度,从上一张一张放到下面
tornCards = tornCards[nameLength:] + tornCards[:nameLength]
#拿起最上面的三张牌放入剩下的牌中间
topThree = tornCards[:3]
middleCards = random.randint(3,len(tornCards))
tornCards = tornCards[3:middleCards] + topThree +tornCards[middleCards:]
#把最上面的牌藏起来(移除并保存)
hiddenCards = tornCards.pop(0)
#假设用户拿一张放到中间
userCard = tornCards.pop(0)
middleCards = random.randint(0,len(tornCards)-1)
tornCards = tornCards[:middleCards] + [userCard] + tornCards[middleCards:]
#假设用户是女生,拿起1张,模拟撒到空中
girlCards = tornCards.pop(0)
#拿起最上面的放到下面,重复操作7次
for _ in range(7):
tornCards.append(tornCards.pop(0))
#第一张放到最下面,下一张丢掉,循环操作直到剩2张
while len(tornCards) >= 2:
#第一张放到最下面
tornCards.append(tornCards.pop(0))
#下一张丢掉
tornCards.pop(0)
#输出剩下和隐藏的牌,验证是否匹配
print("最后剩下的牌:",tornCards)
print("隐藏的牌:",hiddenCards) |
|