python练手程序1 您所在的位置:网站首页 黑桃游戏说 python练手程序1

python练手程序1

2023-09-16 02:19| 来源: 网络整理| 查看: 265

import random import itertools def Poker_Deal(a = 4, b = 13): # a:游戏人数,b:每人手牌数量 Flower = ['黑桃', '红桃', '方块', '草花'] Number = ['A', 'K', 'Q', 'J', '10', '9', '8', '7', '6', '5', '4', '3', '2'] Poker_Cards = [(x,y) for x,y in itertools.product(Flower, Number)] # 一副52张的扑克牌按花色及大小排序 Rest_Cards = Poker_Cards # 没发出的牌 Player = [] for i in range(a): Player.append(random.sample(Rest_Cards, b)) # 随机Player[i]的手牌 Player[i].sort(key = lambda x:Poker_Cards.index(x)) # Player[i]的手牌排序 Rest_Cards = [x for x in Rest_Cards if x not in Player[i]] # 更新没发出的牌 print('Player', i+1, ':') for j in Flower: print(j, ':', end = ' ') for k in Player[i]: if k[0]==j: print(k[1], end = ' ') # 同一花色的手牌按大小输出 print() # 不同花色的手牌换行输出 print() # 不同玩家的手牌间空行 if len(Rest_Cards) < b: print('牌发完了') break # 防止输入a*b>52报错

 

测试1:

Poker_Deal() # 桥牌发牌(默认)

测试结果1:

Player 1 :黑桃 : J 4 2 红桃 : K J 7 6 方块 : Q 7 草花 : J 9 8 7

Player 2 :黑桃 : K Q 10 8 7 6 红桃 : A 5 方块 : K 10 8 4 草花 : 3

Player 3 :黑桃 : A 9 3 红桃 : Q 8 3 2 方块 : 2 草花 : K 10 6 4 2

Player 4 :黑桃 : 5 红桃 : 10 9 4 方块 : A J 9 6 5 3 草花 : A Q 5

牌发完了

 

测试2:

Poker_Deal(6,2) # 6人场德州扑克发牌

测试结果2:

Player 1 :黑桃 : 5 红桃 : 方块 : A 草花 :

Player 2 :黑桃 : 红桃 : 方块 : K 8 草花 :

Player 3 :黑桃 : 9 红桃 : 4 方块 : 草花 :

Player 4 :黑桃 : 红桃 : Q 方块 : 草花 : 3

Player 5 :黑桃 : 10 2 红桃 : 方块 : 草花 :

Player 6 :黑桃 : 红桃 : 6 方块 : 草花 : 9



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有