day30 纸牌游戏
import json
from collections import namedtuple Card = namedtuple('Card', ['rank', 'suit']) # rank 牌面的大小 suit牌面的花色 class FranchDeck:
ranks = [str(n) for n in range(2, 11)] + list('JQKA') # 2-A
suits = ['红心', '方板', '梅花', '黑桃'] def __init__(self):
self._cards = [Card(rank, suit) for rank in FranchDeck.ranks
for suit in FranchDeck.suits] def __len__(self):
return len(self._cards) def __getitem__(self, item):
return self._cards[item] def __setitem__(self, key, value):
self._cards[key] = value def __str__(self):
return json.dumps(self._cards, ensure_ascii=False) deck = FranchDeck()
print(deck)
# [["2", "红心"], ["2", "方板"], ["2", "梅花"], ["2", "黑桃"], ["3", "红心"],
# ["3", "方板"], ["3", "梅花"], ["3", "黑桃"], ["4", "红心"], ["4", "方板"],
# ["4", "梅花"], ["4", "黑桃"], ["5", "红心"], ["5", "方板"], ["5", "梅花"],
# ["5", "黑桃"], ["6", "红心"], ["6", "方板"], ["6", "梅花"], ["6", "黑桃"],
# ["7", "红心"], ["7", "方板"], ["7", "梅花"], ["7", "黑桃"], ["8", "红心"],
# ["8", "方板"], ["8", "梅花"], ["8", "黑桃"], ["9", "红心"], ["9", "方板"],
# ["9", "梅花"], ["9", "黑桃"], ["10", "红心"], ["10", "方板"], ["10", "梅花"],
# ["10", "黑桃"], ["J", "红心"], ["J", "方板"], ["J", "梅花"], ["J", "黑桃"],
# ["Q", "红心"], ["Q", "方板"], ["Q", "梅花"], ["Q", "黑桃"], ["K", "红心"],
# ["K", "方板"], ["K", "梅花"], ["K", "黑桃"], ["A", "红心"], ["A", "方板"],
# ["A", "梅花"], ["A", "黑桃"]] print(deck[10]) # 索引为10 的 Card(rank='4', suit='梅花')
from random import choice # choice 依赖于len
print(choice(deck))
print(choice(deck)) from random import shuffle # 洗牌,shuffle依赖于setitem
shuffle(deck)
print(deck[10])
day30 纸牌游戏的更多相关文章
- python 全栈开发,Day30(纸牌游戏,异常和错误,异常处理)
一.纸牌游戏 ...
- HDU 2209 翻纸牌游戏 状态BFS
翻纸牌游戏 Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem De ...
- hdu2209翻纸牌游戏
翻纸牌游戏 Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- 翻纸牌游戏(dfs回溯)
翻纸牌游戏 Time Limit : 9000/3000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submiss ...
- HDU 2209 翻纸牌游戏(DFS)
题目链接 Problem Description 有一种纸牌游戏,很有意思,给你N张纸牌,一字排开,纸牌有正反两面,开始的纸牌可能是一种乱的状态(有些朝正,有些朝反),现在你需要整理这些纸牌.但是麻烦 ...
- HDU 2209 翻纸牌游戏
翻纸牌游戏 Time Limit : 9000/3000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submiss ...
- Python 纸牌游戏
纸牌游戏 # card.py from random import shuffle class Card: # 黑桃,红桃,方块,梅花 suits = ['spades', 'hearts', 'di ...
- 实现纸牌游戏的随机抽牌洗牌过程(item系列几个内置方法的实例)
实现纸牌游戏的随机抽牌洗牌过程(item系列几个内置方法的实例) 1.namedtuple:命名元组,可以创建一个没有方法只有属性的类 from collections import namedtup ...
- Java学习之模拟纸牌游戏,List的ArrayList,Map的HashMap,重写Collections类的sort方法对指定类进行通过特定属性排序,输入异常处理等的学习
首先放上测试效果图 设计框架 具体的代码实现 创建玩家类 public class Player implements Comparable<Player>{ int id; String ...
随机推荐
- 高速LVDS电平简介
一.LVDS简介 1.1.LVDS信号介绍LVDS:Low Voltage Differential Signaling,低电压差分信号.LVDS传输支持速率一般在155Mbps(大约为77MHZ)以 ...
- excel保存为制表符分隔的文本文件 js无法完整读取
excel保存为制表符分隔的文本文件 js无法完整读取 excel另存为文本有两个选项,一个是制表符分隔的文本文件,一个是unicode文本.生成的文件Unicode更大一些.但是这里需要注意的是[制 ...
- SpringSecurity初步理解
Authenticating a User with LDAP 首先创建一个简单的web控制器 package hello; import org.springframework.web.bind.a ...
- React-redux-saga
新建sagas.js import { takeEvery , put} from 'redux-saga/effects' import axios from 'axios'; import { G ...
- 广电的宽带网络真流氓,替换google的广告为百度的广告
以前联通也有干过这事,最近联通,有没有继续干,不清楚.没有用联通了. 最近,连到某wifi,发现网站的google广告,居然显示成百度的,特别去访问另一家网站,发现,本该是google广告的位置,同样 ...
- RabbmitMQ-Publish/Subscribe
之前的学习中,我们了解的工作队列实现的是:一个消息只发送到一个消费者. 现在我们来学习一下新模式:发布/订阅模式 之前我们在原理中介绍了exchange,但好像并没有使用.而是直接往队列里发消息和取消 ...
- [Oracle][Corruption]发生ORA00600[kdsgrp1]的时候,如何进行调查
本质上,这很可能是坏块引发的,所以需要调查 关联的Table 中的坏块状况: Excerpt of trace file============================*** 2017-08- ...
- 【DDD】使用领域驱动设计思想实现业务系统
最近新接了一个业务系统——社区服务系统,为了快速熟悉和梳理老系统的业务逻辑和代码,同时对老系统代码做一些优化,于是打算花上一个月时间不间断地对老系统服务进行重构.同时,考虑到社区业务的复杂性,想起了之 ...
- ASPCMS_判断语句if标签的使用
这几天在仿个企业站,又用到了ASPCMS.这个CMS系统支持响应式模板——视访问设备而使用不同的模板,这样PC.手机都能兼顾. ▼官方给出的说明: 1.满足条件则显示 {if:条件语句} 显示内容 { ...
- Wannafly挑战赛25 A.因子
传送门 [https://www.nowcoder.com/acm/contest/197/A] 题意 给你n,m,让你求n!里有多少个m 分析 看这个你就懂了 [https://blog.csdn. ...