zooo的答案:
思路:
cardList存52张牌(也可以用循环代替手打。。)
实现
random.sample([cardlist, 52)产生52个不同的随机数,然后分给4个list
============== RESTART: C:\Users\Administrator\Desktop\test.py ==============
玩家一的牌:
[('方块', '9'), ('梅花', '2'), ('红桃', '8'), ('梅花', '8'), ('红桃', '5'), ('梅花', '9'), ('红桃', '9'), ('梅花', 'K'), ('方块', '6'), ('红桃', '10'), ('红桃', '6'), ('黑桃', '3')]
玩家二的牌:
[('方块', '2'), ('黑桃', 'Q'), ('方块', 'K'), ('方块', '8'), ('梅花', '5'), ('红桃', 'A'), ('梅花', '7'), ('黑桃', '6'), ('红桃', 'K'), ('方块', '3'), ('方块', 'J'), ('黑桃', '4')]
玩家三的牌:
[('黑桃', 'A'), ('黑桃', '5'), ('梅花', '10'), ('梅花', 'J'), ('红桃', 'J'), ('梅花', '3'), ('方块', '5'), ('方块', '10'), ('梅花', '6'), ('红桃', '3'), ('黑桃', '2'), ('黑桃', '8')]
玩家四的牌:
[('方块', '4'), ('方块', '7'), ('黑桃', '10'), ('方块', 'A'), ('红桃', '4'), ('黑桃', 'J'), ('红桃', '7'), ('黑桃', 'K'), ('梅花', 'A'), ('梅花', '4'), ('梅花', 'Q'), ('红桃', '2')]
- import random
- cardList = [('红桃','A'),('红桃','2'),('红桃','3'),('红桃','4'),('红桃','5'),('红桃','6'),('红桃','7'),
- ('红桃','8'),('红桃','9'),('红桃','10'),('红桃','J'),('红桃','Q'),('红桃','K'),
- ('方块','A'),('方块','2'),('方块','3'),('方块','4'),('方块','5'),('方块','6'),('方块','7'),
- ('方块','8'),('方块','9'),('方块','10'),('方块','J'),('方块','Q'),('方块','K'),
- ('黑桃','A'),('黑桃','2'),('黑桃','3'),('黑桃','4'),('黑桃','5'),('黑桃','6'),('黑桃','7'),
- ('黑桃','8'),('黑桃','9'),('黑桃','10'),('黑桃','J'),('黑桃','Q'),('黑桃','K'),
- ('梅花','A'),('梅花','2'),('梅花','3'),('梅花','4'),('梅花','5'),('梅花','6'),('梅花','7'),
- ('梅花','8'),('梅花','9'),('梅花','10'),('梅花','J'),('梅花','Q'),('梅花','K')]
- cardRand = random.sample(cardList,52)
- player1 = cardRand[0:12]
- player2 = cardRand[13:25]
- player3 = cardRand[26:38]
- player4 = cardRand[39:51]
- print('玩家一的牌:')
- print(player1)
- print('玩家二的牌:')
- print(player2)
- print('玩家三的牌:')
- print(player3)
- print('玩家四的牌:')
- print(player4)
复制代码
又发帖补充:
思路:
cardList存52张牌
每一张牌有3个属性,exp:('红桃','0','2')->第1和第3个属性为牌的花色和点数,第2个属性用于排序
实现
random.sample([cardlist, 52)产生52个不同的随机数,然后分给4个list
player.sort()排序
cardDisp():显示
第一位玩家的牌:
黑桃-2 红桃-A 红桃-8 红桃-2 红桃-10 梅花-8 梅花-7 梅花-10 方块-J 方块-9 方块-6 方块-5
第二位玩家的牌:
黑桃-A 黑桃-9 黑桃-6 黑桃-10 红桃-K 红桃-Q 红桃-5 红桃-4 梅花-K 梅花-2 方块-A 方块-4
第三位玩家的牌:
黑桃-K 黑桃-Q 黑桃-J 黑桃-7 黑桃-3 红桃-J 红桃-6 红桃-3 梅花-Q 梅花-5 方块-2 方块-10
第四位玩家的牌:
黑桃-8 黑桃-5 黑桃-4 红桃-9 梅花-A 梅花-9 梅花-6 梅花-4 梅花-3 方块-K 方块-Q 方块-7
- #发牌程序
- import random
- cardList = [('红桃','4','A'),('红桃','0','2'),('红桃','0','3'),('红桃','0','4'),('红桃','0','5'),('红桃','0','6'),('红桃','0','7'),
- ('红桃','0','8'),('红桃','0','9'),('红桃','0','10'),('红桃','1','J'),('红桃','2','Q'),('红桃','3','K'),
- ('方块','4','A'),('方块','0','2'),('方块','0','3'),('方块','0','4'),('方块','0','5'),('方块','0','6'),('方块','0','7'),
- ('方块','0','8'),('方块','0','9'),('方块','0','10'),('方块','1','J'),('方块','2','Q'),('方块','3','K'),
- ('黑桃','4','A'),('黑桃','0','2'),('黑桃','0','3'),('黑桃','0','4'),('黑桃','0','5'),('黑桃','0','6'),('黑桃','0','7'),
- ('黑桃','0','8'),('黑桃','0','9'),('黑桃','0','10'),('黑桃','1','J'),('黑桃','2','Q'),('黑桃','3','K'),
- ('梅花','4','A'),('梅花','0','2'),('梅花','0','3'),('梅花','0','4'),('梅花','0','5'),('梅花','0','6'),('梅花','0','7'),
- ('梅花','0','8'),('梅花','0','9'),('梅花','0','10'),('梅花','1','J'),('梅花','2','Q'),('梅花','3','K')]
- cardRand = random.sample(cardList,52)#打乱顺序
- #分割
- player1 = cardRand[0:12]
- player2 = cardRand[13:25]
- player3 = cardRand[26:38]
- player4 = cardRand[39:51]
- #排序
- player1.sort(reverse = 1)
- player2.sort(reverse = 1)
- player3.sort(reverse = 1)
- player4.sort(reverse = 1)
- #显示
- def cardDisp(player):
- for j in range(12):
- print(player[j][0],player[j][2],sep='-',end=' ')
- print()
- print('第一位玩家的牌:')
- cardDisp(player1)
- print('第二位玩家的牌:')
- cardDisp(player2)
- print('第三位玩家的牌:')
- cardDisp(player3)
- print('第四位玩家的牌:')
- cardDisp(player4)
复制代码 |