目录
要求
允许用户一次输入多个玩家的姓名,不限个数,为每个玩家随机生成三张牌
你只有一副牌,确定发出去的每张牌不重样
牌有黑桃,红桃,方片,梅花
代码段
# -*- coding: utf-8 -*-
# created by cc
# 允许用户一次输入多个玩家的姓名,不限个数,为每个玩家随机生成三张牌
# 你只有一副牌,确定发出去的每张牌不重样
# 牌有黑桃红桃方片梅花
import random
def shuffle_the_cards():
'''
洗牌
:return:
'''
colors = ["红桃", "黑桃", "方片", "梅花"]
dights = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A']
cards = []
for i in colors:
for j in dights:
j = str(j)
card = i + j
cards.append(card)
return cards
def game_play():
result = {}
name = input("输入玩家姓名(逗号隔开):")
name_list = name.strip().split(",") #中文逗号
for player in name_list:
card_data=random.sample(cards,3)
result[f"{player}"]=card_data
for line in card_data:
cards.remove(line)
return result
cards=shuffle_the_cards()
result=game_play()
print(result)
运行结果
代码不足
不能实现一副牌发完之后再重新洗牌,每次游戏都要重启程序重新洗牌,浪费资源。希望大佬可以帮助解决