博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《流畅的python》这本确实老辣
阅读量:5361 次
发布时间:2019-06-15

本文共 1552 字,大约阅读时间需要 5 分钟。

最近在慢慢看几页,

第一章的示例代码,实现一副扑克牌。

确实老辣~

不是高手,没有这感觉,我慢慢学吧。

import collectionsfrom random import choiceCard = collections.namedtuple('Card', ['rank', 'suit'])class FrechDeck:    ranks = [str(n) for n in range(2, 11)] + list('JQKA')    suits = 'spades diamonds clubs hearts'.split()    def __init__(self):        self._cards = [Card(rank, suit) for suit in self.suits                       for rank in self.ranks]    def __len__(self):        return len(self._cards)    def __getitem__(self, position):        return self._cards[position]suit_values = dict(spades=3, hearts=2, diamonds=3, clubs=4)def spades_high(card):    rank_value = FrechDeck.ranks.index(card.rank)    return rank_value * len(suit_values) + suit_values[card.suit]beer_card = Card('7', 'diamonds')print(beer_card)deck = FrechDeck()print(len(deck))print(deck[0])print(deck[-1])print(choice(deck))print(deck[:3])print(deck[12::13])for card in deck:    # print(card)    passfor card in reversed(deck):    # print(card)    passprint(Card('Q', 'hearts') in deck)print(Card('7', 'beats') in deck)for card in sorted(deck, key=spades_high):    # print(card)    pass

输出:

Card(rank='7', suit='diamonds')52Card(rank='2', suit='spades')Card(rank='A', suit='hearts')Card(rank='7', suit='hearts')[Card(rank='2', suit='spades'), Card(rank='3', suit='spades'), Card(rank='4', suit='spades')][Card(rank='A', suit='spades'), Card(rank='A', suit='diamonds'), Card(rank='A', suit='clubs'), Card(rank='A', suit='hearts')]TrueFalseProcess finished with exit code 0

 

转载于:https://www.cnblogs.com/aguncn/p/9674924.html

你可能感兴趣的文章
ASP.NET MVC分页实现之改进版-增加同一个视图可设置多个分页
查看>>
关于ASP.NET MVC开发设计中出现的问题与解决方案汇总 【持续更新】
查看>>
关于Entity Framework中的Attached报错的完美解决方案终极版
查看>>
Selenium之Web页面滚动条滚操作
查看>>
组合数据类型练习,英文词频统计实例上
查看>>
Uber回馈开源的一些软件
查看>>
day 3 修改haproxy.cfg 作业
查看>>
UIScrollView —— 缩放实现案例(二)
查看>>
【Qt】Qt Linguist介绍【转】
查看>>
sim usim Uim 区别
查看>>
网页中插入透明Flash的方法和技巧
查看>>
动态内存申请函数选择(realloc、malloc 、alloca、 calloc)
查看>>
获取元素属性get_attribute
查看>>
视觉设计师的进化
查看>>
Python/jquery
查看>>
【BZOJ】【2132】圈地计划
查看>>
Lua 语言基本语法
查看>>
ARM 的Thumb状态测试
查看>>
windows下读取utf-8文件
查看>>
apache 启动不了的排查方法
查看>>