python模拟实现分发扑克牌

本文实例为大家分享了python分发扑克牌的具体代码,供大家参考,具体内容如下

52张扑克牌发个4个玩家,每人13张。

要求:

自动生成一幅扑克牌组;洗牌;发牌到玩家手中;将玩家手中扑克牌按花色大小整理好。

思路一

import random
import operator
def auto():
  pokers=[]
  poker=[]
  for i in ['♥','♠','♦','♣']:
    for j in ['A','2','3','4','5','6','7','8','9','10','J','Q','K']:
      poker.append(i)
      poker.append(j)
      pokers.append(poker)
      poker=[]
  return pokers
poker=auto()
random.shuffle(poker)
li={}
for k in ['player1','player2','player3','player4']:
  b=random.sample(poker,13)
  for s in b:
    poker.remove(s)
  li.setdefault(k,b)
print('player1:',sorted(li['player1'],key=operator.itemgetter(0,1)))
print('player2:',sorted(li['player2'],key=operator.itemgetter(0,1)))
print('player3:',sorted(li['player3'],key=operator.itemgetter(0,1)))
print('player4:',sorted(li['player4'],key=operator.itemgetter(0,1)))

思路二

import random
import time
A=['♥','♠','♦','♣']
B=['A','2','3','4','5','6','7','8','9','10','J','Q','K']
poker=[]
pokers=[]
n=1
for i in A:
  for j in B:
     pokers.append((n,(i+j)))
     n=n+1
print("开始洗牌....")
random.shuffle(pokers)
def xipai(x):
  for i in x:
    pokers.remove(i)
  return pokers
def fapai(y):
  for i in y:
    print(i[1],',',end=" ")
def paixu(z):
  for i in z:
    print(i[1],',',end=" ")
time.sleep(3)
a=random.sample(pokers,13)
pokers=xipai(a)
print("开始给player1发牌:\n")
print(fapai(a))
b=random.sample(pokers,13)
pokers=xipai(b)
print("开始给player2发牌:\n")
print(fapai(b))
c=random.sample(pokers,13)
pokers=xipai(c)
print("开始给player3发牌:\n")
print(fapai(c))
d=random.sample(pokers,13)
pokers=xipai(d)
print("开始给player4发牌:\n")
print(fapai(d))

a.sort()
b.sort()
c.sort()
d.sort()

time.sleep(3)
print("player1的牌:\n")
print(paixu(a))
print("player2的牌:\n")
print(paixu(b))
print("player3的牌:\n")
print(paixu(c))
print("player4的牌:\n")
print(paixu(d)) 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python实现扑克牌交互式界面发牌程序

    本文实例为大家分享了python实现扑克牌交互式界面发牌程序的具体代码,供大家参考,具体内容如下 注:图片自行在网上下载.替换即可 #coding=utf-8 class Card(): #扑克牌类 points=['1','2','3','4','5','6','7','8','9','10','11','12','13'] suits=['1','2','3','4'] #花色 def __init__(self,points,suits): self.points=points self.

  • python模拟斗地主发牌

    本文实例为大家分享了python模拟斗地主发牌的具体代码,供大家参考,具体内容如下 题目:趣味百题之斗地主 扑克牌是一种非常大众化的游戏,在计算机中有很多与扑克牌有关的游戏.例如,在Windows操作系统下自带的纸牌.红心大战等.在扑克牌类的游戏中,往往都需要执行洗牌操作,就是将一副牌完全打乱,使其排列没有规律. 要求: 1.54张扑克牌发个3个玩家,农民17张,地主20张. 2.自动生成一幅扑克牌组:洗牌:发牌到玩家手中:将玩家手中扑克牌按花色大小整理好.** ''' 趣味百题-发扑克牌-斗地

  • 基于Python实现扑克牌面试题

    这篇文章主要介绍了基于Python实现扑克牌面试题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 据说是腾讯的面试题,以下是要求: 一副从1到n的牌,每次从牌堆顶取一张放桌子上,再取一张放牌堆底,直到手中没牌.根据桌上的牌堆顺序,输出原先手中牌堆的顺序数组. 实现思路: 1.首先定义一个2维数组,代表最后桌上的牌堆排列情况.内部数组flist[i][0], flist[i][1]分别表示牌堆的排序和牌面的序号. 2.分n为奇数或偶数2种情况,用

  • python模拟实现斗地主发牌

    题目:趣味百题之斗地主 扑克牌是一种非常大众化的游戏,在计算机中有很多与扑克牌有关的游戏.例如,在Windows操作系统下自带的纸牌.红心大战等.在扑克牌类的游戏中,往往都需要执行洗牌操作,就是将一副牌完全打乱,使其排列没有规律. 要求: 1.54张扑克牌发个3个玩家,农民17张,地主20张. 2.自动生成一幅扑克牌组:洗牌:发牌到玩家手中:将玩家手中扑克牌按花色大小整理好.** ''' 趣味百题-发扑克牌-斗地主 请编程实现发扑克牌 Version: 0.1 Author: jasn Date

  • python实现四人制扑克牌游戏

    本文实例为大家分享了python实现四人制扑克牌游戏的具体代码,供大家参考,具体内容如下 题目: 设计一个简单的四人制扑克牌游戏,能够完成以下功能: 1. 洗牌 2. 发牌 3.自定义规则,在每轮单张出牌时,判定赢家 4.自定义规则,判定最终的赢家 规则简化版: 仅能出单张牌,且出牌时,每个人出的是自己手中牌中刚好能压过上家的最小牌,最先出完的为赢家 import random from random import choice flower = ['\u2660','\u2663','\u26

  • python模拟实现分发扑克牌

    本文实例为大家分享了python分发扑克牌的具体代码,供大家参考,具体内容如下 52张扑克牌发个4个玩家,每人13张. 要求: 自动生成一幅扑克牌组:洗牌:发牌到玩家手中:将玩家手中扑克牌按花色大小整理好. 思路一 import random import operator def auto(): pokers=[] poker=[] for i in ['♥','♠','♦','♣']: for j in ['A','2','3','4','5','6','7','8','9','10','J

  • Python 模拟员工信息数据库操作的实例

    1.功能简介 此程序模拟员工信息数据库操作,按照语法输入指令即能实现员工信息的增.删.改.查功能. 2.实现方法 • 架构: 本程序采用python语言编写,关键在于指令的解析和执行:其中指令解析主要运用了正则表达式来高效匹配有效信息:指令执行通过一个commd_exe主执行函数和增.删.改.查4个子执行函数来实现,操作方法主要是运用面向对象方法将员工信息对象化,从而使各项操作都能方便高效实现.程序主要函数如下: (1)command_exe(command) 指令执行主函数,根据指令第一个字段

  • 利用python模拟sql语句对员工表格进行增删改查

    本文主要给大家介绍了关于python模拟sql语句对员工表格进行增删改查的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 具体需求: 员工信息表程序,实现增删改查操作: 可进行模糊查询,语法支持下面3种: select name,age from staff_data where age > 22                  多个查询参数name,age 用','分割 select * from staff_data where dept = 人事 select * from

  • Python 模拟购物车的实例讲解

    1.功能简介 此程序模拟用户登陆商城后购买商品操作.可实现用户登陆.商品购买.历史消费记查询.余额和消费信息更新等功能.首次登陆输入初始账户资金,后续登陆则从文件获取上次消费后的余额,每次购买商品后会扣除相应金额并更新余额信息,退出时也会将余额和消费记录更新到文件以备后续查询. 2.实现方法 架构: 本程序采用python语言编写,将各项任务进行分解并定义对应的函数来处理,从而使程序结构清晰明了.主要编写了六个函数: (1)login(name,password) 用户登陆函数,实现用户名和密码

  • Python模拟登录12306的方法

    本文实例讲述了Python模拟登录12306的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: #!/usr/bin/python # -*- coding: utf-8 -*-   import re; import sys; import cookielib; import urllib; import urllib2; import optparse; import json; import httplib2; reload(sys) sys.setdefaulten

  • 利用python模拟实现POST请求提交图片的方法

    本文主要给大家介绍的是关于利用python模拟实现POST请求提交图片的方法,分享出来供大家参考学习,下面来一看看详细的介绍: 使用requests来模拟HTTP请求本来是一件非常轻松的事情,比如上传图片来说,简单的几行代码即可: import requests files = {'attachment_file': ('1.png', open('1.png', 'rb'), 'image/png', {})} values = {'next':"http://www.xxxx.com/xxx

  • 详解Python 模拟实现生产者消费者模式的实例

    详解Python 模拟实现生产者消费者模式的实例 散仙使用python3.4模拟实现的一个生产者与消费者的例子,用到的知识有线程,队列,循环等,源码如下: Python代码 import queue import time import threading import random q=queue.Queue(5) #生产者 def pr(): name=threading.current_thread().getName() print(name+"线程启动......") for

  • Python模拟用户登录验证

    本文实例为大家分享了Python模拟用户登录验证的具体代码,供大家参考,具体内容如下 1.功能简介 此程序模拟用户登录验证的过程,实现用户名输入.黑名单检测.用户有效性判别.密码输入及验证等.用户在3次以内输入正确密码登陆成功,连续输错3次密码登陆失败,且该用户名被记录在黑名单,黑名单中的用户被锁定不能再登陆. 2.实现方法 本程序采用python语言编写,将各项任务进行分解并用定义对应的函数来处理,从而使程序结构清晰,易于维护.主要编写了四个函数: login() #登陆函数,为主函数,完成用

  • Python模拟百度登录实例详解

    最近公司产品和百度贴吧合作搞活动,为了增加人气,打算做个自动签到的小程序.这个是测试登录的代码,写的比较随意,仅实现了登录并读取关注贴吧列表,下边的就比较简单. 百度登录还是有点麻烦的,由于用的ssl,所以要先获取token,然后再登录,这个用finddle2分析下,还是比较好解决的. # -*- coding: utf8 -*- import urllib2 import urllib import cookielib import re import bs4 URL_BAIDU_INDEX

随机推荐