- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在学习 John Zelle 的 Python 编程:计算机科学导论,但在第 10 章遇到了障碍。我在理解这个练习的原因和方式方面遇到了概念性问题,需要一些帮助来了解如何处理问题。该练习要求我使用名为 Card
的类创建一个显示 n 张卡片的程序,并需要以下方法。它也应该可以从生成 n 个随机卡片的应用程序中调用:
__init__(self, rank, suit):
getRank(self)
getSuite(self)
BJValue(self)
__str__(self)
虽然这应该是非常容易的,但我在尝试实现这个类时遇到了困难。我创建了一个简单的应用程序,可以生成一副 52 张牌,提示用户输入他们想要的牌数,然后用这些牌填充手牌。一旦生成手牌,我就看不到我能从特定卡片类别中受益的地方。到目前为止,这是我的工作代码:
import random
class Card:
def __init__(self, rank, suite):
self.rank = rank
self.suite = suite
def getRank(self):
return self.rank
def getSuite(self):
return self.suite
def BJValue(self):
if self.rank == 'Ace':
return 1
elif self.rank == 'Jack' or self.rank == 'Queen' or self.rank == 'King':
return 10
else:
return int(self.rank)
def __str__(self):
return ('{0} of {1}'.format(self.rank, self.suite))
def shuffled_deck():
deck = []
for suite in ['Clubs', 'Diamonds', 'Hearts', 'Spades']:
for num in ['Ace', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jack', 'Queen', 'King']:
deck.append([num, suite])
random.shuffle(deck)
return deck
def main():
deck = shuffled_deck()
hand = []
print('>> Card Generator v1 <<')
while True:
try:
n = int(input('Please enter the number of cards to display (1-7): '))
except ValueError:
print('Invalid input, please enter a number!\n')
else:
if n < 1 or n > 7:
print('Please enter a number between 1-7!\n')
else:
break
print('Your hand is:')
for i in range(n):
hand.append(deck[i])
main()
因此,一旦我生成了随机 n 手牌,我就看不到使用 Card 类有何好处,甚至看不到在何处实现它。由于 n 是 1-7 之间的随机数,我需要 n 个变量来存储每个卡片对象,然后将每个变量分配给 Card 的实例
。我可以用 hand[i]
显示手中的每张牌,我迭代到 range(n)
而不需要特殊的 Card
类,但这不是该项目所期望的。我正在寻求有关如何思考这个问题的建议,以便我可以使用这个必需的类(class)。
最佳答案
看起来您唯一需要在代码中更改的是更改行:
deck.append([num, suite])
到
deck.append(Card(num, suite))
这使得 deck
变量成为 52 个 Card
对象的列表。这很有用,因为 Card
对象具有一些内置功能,而两个项目的列表(如 [num, suite]
)则没有。
两个例子:如果你添加一行
print hand
在你的代码之后,你当前的代码会打印类似的东西
[["Jack", "Clubs"], ["9", "Spades"]]
当你的新代码打印出来时
[Jack of Clubs, 9 of Spades]
(行 print "\n".join(map(str, hand)))
可能更接近您在实践中想要的)。您还可以通过以下行获得您的手牌的总二十一点值(value):
sum(c.BJValue() for c in hand)
关于python - 如何按照Python教科书的要求实现 'class Card',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14467933/
除了源评论之外,我找不到关于 card.io 的文档。 CardIOCreditCardInfo.h 文件具有 CardIOCreditCardType 的枚举。 typedef NS_ENUM(NS
问题 我正在制作幻灯片。当我转到下一张幻灯片时,我会增加我的卡 ID,如下所示: cardId++; $('#card-' + (cardId)).show(); 我还有另一个 on keyup 监听
这是我的卡片结构头文件: #include "stdafx.h" enum Suits {clubs, diamonds, hearts, spades}; enum Ranks {two = 2,
请问gmail登录页面的div.card.signin-card.clearfix的css代码是多少?我只是 CSS 的初学者。提前致谢。 最佳答案 尝试借助 inspect 元素。 .clear
我正在尝试修改 Flutter 示例中的 cards_demo.dart。我的目的是不是将内置的两张卡片的高度固定为: static final double height=300.0(或一些强制和固
在Twitter上发布推文https://startcrowd.club时,我无法显示图像卡 但它在Facebook上完美运行。 我想出示这张卡:http://startcrowd.club/imag
有没有办法将 io.card.payment.DataEntryActivity 的 screenOrientation 设置为横向?我试图在 list 中设置它,但应用程序因错误而崩溃
有没有办法将 io.card.payment.DataEntryActivity 的 screenOrientation 设置为横向?我试图在 list 中设置它,但应用程序因错误而崩溃
我有一个宽度小于图像宽度的 block 。此图像用 Angular Material 的指令包裹: 我想保持该图像的纵横比,但这是我得到的: http
如果我有一个Web应用程序,并且接收到Web浏览器通过POST请求通过HTTPS通过POST请求传输的信用卡数据,并立即打开一个套接字(SSL)到远程PCI兼容卡处理器以转发数据并等待响应,我是否允许
我正在尝试制作一些新闻页面,以便在 Twitter 上共享时显示带有图像 (summary_large_image) 的 Twitter 卡片。我在页面上添加了必要的元标记。验证器说一切都很好,实际上
我正在与 Stripe 客户、订阅和卡合作。 现在,我有一个场景,客户可以拥有多张卡。 现在,客户添加了一张新卡。我必须将新添加的卡标记为 default_source。 所以我正在做的是 Map p
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 2 年前。
如何比较卡列表?我收到此错误,但我不知道这意味着什么或如何修复它。我得到的错误: the type 'Card' cannot be used as type parameter 'T' in gen
我写信给你是因为我在 PC 上用 Java 编写了一个带有椭圆曲线的签名算法,我想将它集成到 Java Card 上。在我的程序中,我使用加密库 BouncyCaSTLe。 所以我的问题如下:是否可以
我正在尝试将图像与描述它的文本并排放置: 但是,我正在尝试在 Angular 垫卡中执行此操作,并且我最初尝试使用 mat-card-content 来执行此操作,但失败了,所以我求助于调用 mat
我正在使用 Bootstrap 4 构建砖石卡片组。现在我有 3 列,其中有 3 张卡片。是否可以对每一列的最后一张卡片进行寻址? 我可以用下面的代码来定位牌组的最后一张牌: card-columns
我想在 Bootstrap 卡中的图像和卡体之间有一个边框。我有一个 CSS 如下- .card{ border-width: 6px; border-color: rgb(255, 255,
{{s.header}} {{s.Desc}}
我已将此卡数据添加到 this site : 但是,当我将链接粘贴到我的 twitter 帐户时,卡片不会呈现。 htt
我是一名优秀的程序员,十分优秀!