```python
# 设置编码格式必须写(python2.7没有对中文格式进行处理)
# coding=utf-8
import random
import copy
# shuffle() 方法将序列的所有元素随机排序。
# choice() 随机抽取,又放回,源数据不变
# sample()
# 定义卡片
card = []
#存放取到的牌面
list_def = []
cart_type = ['♠','♦','♥','♣']
cart_number = ['A','2','3','4','5','6','7','8','9','10','J','Q','K']
# 将牌面组合存入card列表中
for num in cart_type:
for num2 in cart_number:
card.append(num2+num)
# 添加大王和小王两张牌面
card.append('queen')
card.append('king')
#print(len(card))
# 复制牌(python2.7得使用 copy.copy(card)复制列表)
games = copy.copy(card)
# 打牌牌面次序
random.shuffle(games)
# 取出一个数据后进行移除
# c = random.choice(games)
# games.remove(c)
# print(len(games))
# for x in range(0,len(games)):
# print(games[x]),
# 取出这副牌的大小
sum_card = len(games)
# 将三张底牌排除在外,平均分配给三个用户
need_card =( sum_card - 3)/3
# 公共方法 作用:打印取出的数据后将数据存储后删除列表中数据
def delete_info(games,sum_card):
list_def =[]
user = random.sample(games,sum_card)
for sangle_user in user:
# print(sangle_user),
list_def.append(sangle_user)
games.remove(sangle_user)
#print('')
return list_def
#三个人取出牌面总数 == 总数减三张底牌
# 取出多条数据
len_balck = games.index('3♠')
# 打印最后取出的牌
def print_usercards(user1):
for card_user1 in user1:
print(card_user1),
print('')
# 发牌
user1 = delete_info(games,need_card)
user2 = delete_info(games,need_card)
user3 = delete_info(games,need_card)
# 取出三张底牌
remainderCard = delete_info(games,3)
# 判断谁是地主
isQueen = 0
# 将三张底牌取出随机赋予黑桃3拥有者,如果黑桃3在底牌中默认赋给用户1
if len_balck <= 17 or len_balck >51:
for single_remainderCard in remainderCard:
user1.append(single_remainderCard)
isQueen = 1
elif len_balck <= 34:
for single_remainderCard in remainderCard:
user2.append(single_remainderCard)
isQueen = 2
elif len_balck <= 51:
for single_remainderCard in remainderCard:
user3.append(single_remainderCard)
isQueen = 3
print('=================')
print('用户'+ str(isQueen)+'是地主,地主的底牌是:')
print_usercards(remainderCard)
print('用户1的牌:')
print_usercards(user1)
print('用户1的牌:')
print_usercards(user2)
print('用户3的牌:')
print_usercards(user3)
#print(user3.index('3♠'))
#games.remove(user1)
#user2 = random.sample(games,10)
#delete_info(user2)
#user3 = random.sample(games,10)
#delete_info(user3)
#for card_user1 in user1:
# print(card_user1),
#print('')
#for card_user2 in user2:
# print(card_user2),
#print('')
#for card_user3 in user3:
# print(card_user3),
这篇代码主要学习的点在随机函数的使用上