python小程序之4名牌手洗牌发牌问题解析

本文为大家解析了python实现4名牌手洗牌发牌的问题,供大家参考,具体内容如下

编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌。创建函数gen_pocker()交换牌的顺序,函数getColor()获取牌的花色,函数getValue()获取牌的牌面大小,函数getPuk()获取花色和牌面大小的组合

运行效果

[51, 45, 31, 4, 48, 26, 11, 2, 24, 44, 22, 21, 16, 41, 50, 47, 13, 25, 17, 29, 42, 27, 19, 33, 5, 40, 1, 8, 30, 18, 10, 9, 0, 3, 14, 46, 36, 35, 12, 15, 20, 34, 38, 39, 43, 37, 32, 7, 28, 23, 49, 6]

牌手1:方块4 方块8 方块A 方块Q 红桃3 红桃5 红桃J 草花6 草花A 黑桃10 黑桃4 黑桃5 黑桃K

牌手2:方块6 方块J 方块K 红桃10 红桃2 红桃9 红桃A 红桃Q 草花4 黑桃2 黑桃3 黑桃6 黑桃7

牌手3:方块10 方块2 方块5 方块7 红桃6 红桃7 红桃K 草花2 草花J 草花K 草花Q 黑桃J 黑桃Q

牌手4:方块3 方块9 红桃4 红桃8 草花10 草花3 草花5 草花7 草花8 草花9 黑桃8 黑桃9 黑桃A

import random
def gen_pocker(n):
  random.shuffle(n)
  return n
#产生牌的花色
def getColor(n):
  if(n>=0 and n<=12):
    return "梅花"
  elif(n>=13 and n<=25):
    return "方块"
  elif(n>=26 and n<=38):
    return "红桃"
  elif(n>=39 and n<=51):
    return "黑桃"
def getValue(n):
  if n==0 or n==13 or n==26 or n==39:
    return 'A'
  elif n==12 or n==38 or n==25 or n==51:
    return 'K'
  elif n==11 or n==37 or n==24 or n==50:
    return 'Q'
  elif n==10 or n==36 or n==23 or n==49:
    return 'J'
  else:
    return n%13
def getPuk():
  List=[]    #代表一副牌,现在表示还没有牌,只是一个牌盒
  for i in range(0,52):
    List.append(i)  #按顺序往牌盒中放入52张牌
  List=gen_pocker(List)  #将牌盒中的牌打乱顺序
  List1=[]       #定义4个牌手
  List2=[]
  List3=[]
  List4=[]
  for i in range(0,52): #实现发牌
    if i<13:    #打乱后的前13张牌发给牌手1,实现牌手1手牌中如何含有花色和数字
      List1.append(getColor(List[i])+str(getValue(List[i])))
    elif i<26:
      List2.append(getColor(List[i])+str(getValue(List[i])))
    elif i<39:
      List3.append(getColor(List[i])+str(getValue(List[i])))
    else:
      List4.append(getColor(List[i])+str(getValue(List[i])))
  print(List)
  print("牌手1",List1)
  print("牌手2",List2)
  print("牌手3",List3)
  print("牌手4",List4)
getPuk()

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

(0)

相关推荐

  • python模拟实现斗地主发牌

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

  • 在Python中实现shuffle给列表洗牌

    如下所示: # Copyright (c)2018, 东北大学软件学院学生 # All rightsreserved # 文件名称:a.py # 作 者:孔云 #问题描述:shuffle函数可以给列表洗牌 import random dessert=['ice cream','pancake','brownies','cookies','candy'] random.shuffle(dessert) print(dessert) 运行结果如下: 注:列表打印出来是洗牌后的结果,顺序完全不一样.如

  • 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.

  • 网易有道2017内推编程题 洗牌(python)

    本文实例为大家分享了网易有道2017内推编程题:洗牌,供大家参考,具体内容如下 ''' [编程题] 洗牌 时间限制:1秒 空间限制:32768K 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程. 现在需要洗2n张牌, 从上到下依次是第1张,第2张,第3张一直到第2n张.首先,我们把这2n张牌分成两堆, 左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆). 接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌, 接着放下右手的倒数第二张牌,再放下左手的

  • python模拟斗地主发牌

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

  • python小程序之4名牌手洗牌发牌问题解析

    本文为大家解析了python实现4名牌手洗牌发牌的问题,供大家参考,具体内容如下 编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌.创建函数gen_pocker()交换牌的顺序,函数getColor()获取牌的花色,函数getValue()获取牌的牌面大小,函数getPuk()获取花色和牌面大小的组合 运行效果 [51, 45, 31, 4, 48, 26, 11, 2, 24, 44, 22, 21, 16, 41, 50, 47, 13, 2

  • python小程序基于Jupyter实现天气查询的方法

    天气查询python小程序第0步:导入工具库第一步:生成查询天气的url链接第二步:访问url链接,解析服务器返回的json数据,变成python的字典数据第三步:对字典进行索引,获取气温.风速.风向等天气信息第四步:遍历forecast列表中的五个元素,打印天气信息完整Python代码 本案例是一个非常有趣的python小程序,调用网络API查询指定城市的天气,并打印输出天气信息. 你将学到以下技能: 向网络API发起请求,解析和处理服务器返回的json数据,可以迁移到各种各样的API中,如P

  • Python小程序爬取今日新闻拿走就能用

    目录 核心代码 爬取标题 界面代码 软件编译 核心代码 requests.get 下载html网页 bs4.BeautifulSoup 分析html内容 from requests import get from bs4 import BeautifulSoup as bs from datetime import datetime as dt def Today(style=1): date = dt.today() if style!=1: return f'{date.month}月{da

  • 有趣的python小程序分享

    python可以简单优美,也很有趣,下面是收集的例子: 1.一句话开始一个http的文件服务器: $ python -m SimpleHTTPServer Serving HTTP on 0.0.0.0 port 8000 ... 在浏览器中就可以http://localhost:8000访问目录及文件了. 也可以直接指定端口: $ python -m SimpleHTTPServer 6666 如果想在代码中实现,也很简单: import SimpleHTTPServer import Soc

  • Python小程序 控制鼠标循环点击代码实例

    这篇文章主要介绍了Python小程序 控制鼠标循环点击代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 from ctypes import * import pyautogui import time time.sleep(5) while 1: pyautogui.click(400, 400, clicks=1, interval=0.0, button='left') time.sleep(10) Note: 坐标(400,400

  • 一个可以套路别人的python小程序实例代码

    先简要介绍一下程序. 程序是使用pycharm工具,python语言所写.程序包括客户端 client.py 和服务器端 server.py 两部分,利用了python中的socket包. 咳咳,使用方法来了! 首先,你需要你和你的朋友在同一个局域网内,然后在你的主机上,运行服务器端 server.py. 然后,让你的朋友在他的电脑上运行客户端 client.py. 此时你朋友电脑的windows用户密码,就会变成一个随机密码,且这个生成的随机密码他本人无法得知,而是把这个密码通过socket传

  • Python小程序之在图片上加入数字的代码

    在GitHub上发现一些很有意思的项目,由于本人作为Python的初学者,编程代码能力相对薄弱,为了加强Python的学习,特此利用前辈们的学习知识成果,自己去亲自实现. 来源:GitHub Python练手小程序项目地址:https://github.com/Show-Me-the-Code/python 写作日期:2019.11.24 今天练习的小程序,是其中第0000题,题目如下: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 如下图中的效果

  • C语言实现洗牌发牌小程序

    本文实例为大家分享了C语言实现洗牌发牌小程序的具体代码,供大家参考,具体内容如下 构建一副扑克牌,并实现洗牌发牌. 代码 #include <stdio.h> #include <time.h> #include <stdlib.h> #define NUM 10000 //洗牌混乱度 char color[7][7] = {"空白","红桃","黑桃","草花","方片"

  • python小程序之飘落的银杏

    目录 一.飘落的银杏 二.代码部分 1.导入所需的库 2.生成斐波那契数列 3.定义生成叶子的方法 4.定义生成树的方法 5.主函数部分 三.结果展示 前言 之前学python时在网上找了好多小程序,由于年代久远,已经忘记出自哪里了,给代码加了点注释,再稍微修改了一下,让代码的可读性更好,如有侵权立刻就删~ 一.飘落的银杏 引用本科老师的一句话:"樱花最美的时候有两个,一个是樱花一半在空中,一半在树上的时候,空间上的最美:另一个是你们这个年纪可以牵着喜欢的人一起去看的时候,意境上的最美.&quo

  • 微信小程序跨页面数据传递事件响应实现过程解析

    这篇文章主要介绍了微信小程序跨页面数据传递事件响应实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在实际工作中有很多场景需要在第二个页面中将用户操作之后的将数据回传到上一页面.接下来将我的方案分享给小伙伴. 本次示例采用 uni-app 框架和 weui 样式库 实现思路 创建一个 Emitter,用于事件处理 创建一个 ... 在实际工作中有很多场景需要在第二个页面中将用户操作之后的将数据回传到上一页面.接下来将我的方案分享给小伙

随机推荐