当前位置: 首页 > news >正文

网站商城运营成本北京值得去的商场

网站商城运营成本,北京值得去的商场,企业网站建设请示,网站建设公司 佛山斗地主发牌程序#xff1a; 模拟一个斗地主发牌程序#xff0c;实现对三个玩家进行手牌的派发#xff0c;实现功能#xff1a; ********** 欢迎进入 XX 斗地主 ********** 请输入玩家姓名#xff1a;用户控制台输入 A 请输入玩家姓名#xff1a;用户控制台输…斗地主发牌程序 模拟一个斗地主发牌程序实现对三个玩家进行手牌的派发实现功能 ********** 欢迎进入 XX 斗地主 ********** 请输入玩家姓名用户控制台输入 A 请输入玩家姓名用户控制台输入 B 请输入玩家姓名用户控制台输入 C 洗牌中... 洗牌完成! 发牌中... 发牌完成 A在这里展示 A 的所有手牌要求按照从小到大的顺序排序相同点数的情况下按照 黑桃 红桃 方片 梅花 的大小关系排列 B在这里展示 B 的所有手牌要求按照从小到大的顺序排序相同点数的情况下按照 黑桃 红桃 方片 梅花 的大小关系排列 C在这里展示 C 的所有手牌要求按照从小到大的顺序排序相同点数的情况下按照 黑桃 红桃 方片 梅花 的大小关系排列 谁叫地主 用户控制台输入 A 地主牌在这里展示地主牌要求按照从小到大的顺序排序相同点数的情况下按照 黑桃 红桃 方片 梅花 的大小关系排列 A在这里展示 A 的所有手牌要求按照从小到大的顺序排序相同点数的情况下按照 黑桃 红桃 方片 梅花 的大小关系排列 B在这里展示 B 的所有手牌要求按照从小到大的顺序排序相同点数的情况下按照 黑桃 红桃 方片 梅花 的大小关系排列 C在这里展示 C 的所有手牌要求按照从小到大的顺序排序相同点数的情况下按照 黑桃 红桃 方片 梅花 的大小关系排列 解题思路 1. 需要准备一副扑克牌 a. 一副扑克牌本身就是一个数据容器其中存储了54个扑克牌对象 b. 扑克牌类需要具有的属性和方法 ⅰ. 属性点数、花色 ⅱ. 功能显示将自己的点数和花色拼接成一个字符串返回可以比较大小 c. 扑克牌的点数和花色的类型 ⅰ. 问题无法直接通过字符串比较大小 ⅱ. 解决自定义数据类型包含两个属性呈现效果权重 d. 顺序生成54张牌 e. 洗牌 2. 发牌 a. 遍历牌堆依次给每一个玩家发牌 b. 【偷懒】切片切17张牌给到玩家 import randomclass Poker:def __init__(self, suit, color, suit_weight, color_weight):self.suit suitself.color colorself.suit_weight suit_weightself.color_weight color_weightdef __repr__(self):if self.color ! None:return f{self.suit}{self.color}else:return f{self.suit}def initPoker():poker_list []for i in range(1, 14):suit Nonesuit_weight iif i 1:suit Asuit_weight 12elif i 2:suit 2suit_weight 13elif i 11:suit_weight 9suit Jelif i 12:suit_weight 10suit Qelif i 13:suit_weight 11suit Kelse:suit_weight i - 2suit ifor k in range(1, 5):color Nonecolor_weight kmatch k:case 1:color ♠case 2:color ♥case 3:color ♣case 4:color ♦poker_list.append(Poker(suit, color, suit_weight, color_weight))poker_list.append(Poker(大王, None, 100, None))poker_list.append(Poker(小王, None, 99, None))return poker_listdef getThreePlayerName():# 输入三个玩家的名字s1 set()while True:p1 input(请输入第一个玩家的名字:)p2 input(请输入第二个玩家的名字:)p3 input(请输入第三个玩家的名字:)s1.add(p1)s1.add(p2)s1.add(p3)if len(s1) 3:print(输入的玩家有重名的请重新输入!)continueelse:return p1, p2, p3class Player:def __init__(self, name):self.name nameself.poker_list list()def __repr__(self):return f{self.name}# 发牌方法def send_pokers(self, poker_list: list[Poker], player_list: list[Player]):for i in range(17):print(player_list[0])player_list[0].poker_list.append(poker_list.pop())player_list[1].poker_list.append(poker_list.pop())player_list[2].poker_list.append(poker_list.pop()) def showAllPlayerPoker(player_list: list[Player]):for i in range(len(player_list)):player player_list[i]print(f玩家的名字{player.name})player.poker_list sorted(player.poker_list, keylambda poker: (poker.suit_weight, poker.color_weight))print(f玩家的牌是:{player.poker_list})# 欢迎界面 def showMainScreen():print(**********欢迎进入东湖斗地主**********)n1, n2, n3 getThreePlayerName()print(n1, n2, n3)playerList:list[Player] [Player(n1), Player(n2), Player(n3)]# 初始化一下牌poker_list initPoker()print(poker_list)print(洗牌中...)random.shuffle(poker_list)# 调用洗牌方法print(洗牌完成!)print(poker_list)print(发牌中...)# 调用发牌方法print(poker_list)print(playerList)# send_pokers(poker_list, playerList)for i in range(17):playerList[0].poker_list.append(poker_list.pop())playerList[1].poker_list.append(poker_list.pop())playerList[2].poker_list.append(poker_list.pop())print(poker_list)showAllPlayerPoker(playerList)# 叫地主master input(谁叫地主? )if master in (n1, n2, n3):print(f{master}是地主!)master_player Nonefor player in playerList:if master player.name:master_player playermaster_player.poker_list poker_listprint(**********叫地主结束**********)showAllPlayerPoker(playerList)print(发牌完成)# 调用主方法 showMainScreen()第二种方法 1 创建一个类Poker 类 点位JQKA 花色 权重 花色权重2、主屏幕3、初始化一副牌 54张3、调用三个玩家的初始化操作 玩家类 Player 属性 name List存放玩家的牌4、洗牌 random.shuffle5、发牌 需要一个List[Poker] 使用 pop 冒出来一张给三个玩家同时删除这个List中的一张6、展示某个玩家的牌import randomclass Poker:def __init__(self,suit,color,suit_weight,color_weight):self.suitsuitself.colorcolorself.suit_weightsuit_weightself.color_weightcolor_weightdef __repr__(self):# 大小王怎么办if self.color is None:return str(self.suit)else:return self.colorstr(self.suit)# 初始化三个玩家姓名要不同 def initPlayer():s1 set() # 存储3个玩家的姓名# 定义一个List集合存储各个玩家对象initPlayerList []while True:name input(f请输入第{len(s1)1}个玩家的姓名不要重复:)s1.add(name)if len(s1) 3:breakfor name in s1:initPokerList []player Player(name,initPokerList)initPlayerList.append(player)return initPlayerListclass Player:def __init__(self,name,list):self.namenameself.list listdef __repr__(self):return self.name ,扑克牌是 ,.join(self.list)# 初始化一副牌 def initPoker():#54张牌initPokerList []for i in range(1,14):suit isuit_weight imatch i:case 1:suit Asuit_weight 14case 11:suit Jsuit_weight 9case 12:suit Qsuit_weight 10case 13:suit Ksuit_weight 11case 2:suit_weight 15case _:suit_weight i - 2for color in [♥,♠,♦,♣]:# 黑桃 红桃 方片 梅花color_weight 0match color:case ♠:color_weight 1case ♥:color_weight 2case ♦:color_weight 3case ♣:color_weight 4poker Poker(suit, color, suit_weight,color_weight)initPokerList.append(poker)initPokerList.append(Poker(大王,None,100,None))initPokerList.append(Poker(小王,None,100,None))return initPokerListdef showAllPokerByPlayer(player):print(f开始展示{player.name}的所有牌)pokerList player.list# 先将所有的牌排序pokerList sorted(pokerList,keylambda poker: (poker.suit_weight,poker.color_weight) )print(pokerList)if __name__ __main__:print(----欢迎来到新澳门葡京娱乐城------)playList initPlayer()print(playList)pokerList initPoker()print(pokerList)# 开始洗牌print(洗牌中.....)random.shuffle(pokerList)print(pokerList)print(开始发牌.....)for index in range(len(pokerList)-3):poker pokerList.pop()player playList[index % 3]player.list.append(poker)# 先叫地主name input(叫地主:)for player in playList:if player.name name:print(f{name}是地主)# 两个list的合并player.list pokerList# 展示所有的底牌# 展示所有人的牌print(展示所有玩家的牌....)for player in playList:showAllPokerByPlayer(player)
http://www.dnsts.com.cn/news/148894.html

相关文章:

  • 渗透网站做seo中国旅游预订网站的建设始于哪一年
  • 公民道德建设网站网站建设可行分析性报告
  • 做网站安全认证免费中文wordpress主题下载
  • 威海建设局网站首页云服务器和网站备案吗
  • 网络营销推广公司名称潍坊网站建设SEO优化
  • 做设计找参考的设计网站有哪些新开家政如何做网站
  • 2018年做淘宝客网站还能挣钱吗高端的的网站建设公司
  • 海宁做网站网站问卷调查系统怎么做
  • 互诺科技做网站怎么样中国建盏logo
  • 重庆模板网站多少钱苏州建设网站制作
  • 怎么做公众号网站安装app
  • 北京果木烤鸭制作方法织梦与wordpress seo哪个好
  • 江门seo网站信息作业网站下载
  • 制作七星网站微信公众号开发需要多少钱
  • 邯郸网站设计培训wordpress fifth
  • 网站建设审核需要多长时间wordpress重新安装
  • 制作钓鱼网站wordpress模版教程
  • 郑州seo建站wordpress主题ftp失败
  • 网站制作app开发公司电子商务网站开发的基本原则
  • 发外链的网站排名西部数码网站管理助手3.1
  • 专业的免费网站建设哪家深圳网站推广哪家好
  • 个人网页上传网站怎么做厦门seo代运营
  • 上海建设工程标准与造价信息网站婚纱网网站建设目的及功能定位
  • 学校网站建设宗旨wordpress做淘宝客
  • 做企业免费网站哪个好些第一源码网
  • 建电影网站赚钱挣钱吗成都网站建设推进方案
  • wordpress 更改数据表seo查询 工具
  • 上合建设网站企业昆明网站建设方案策划
  • 自己做的网站怎么给别人访问如何创作个人网站
  • 延安市违法建设举报网站建站网站主题设置不能点