我正在编写一个可以创建扑克手的引擎,即使我从多个牌组中抽奖,我希望每只手只包含唯一的纸牌
我的问题是,这段代码
for z in range(dr):
if self.cards[-1] not in drawcards:
drawcards[z] = self.cards.pop()
不会将具有x且值为y的卡注册为与另一张具有x且值为y的卡相同
这是我的卡类:
class Card:
"""A class containing the value and suit for each card"""
def __init__ (self, value, suit):
self.value = value
self.suit = suit
self.vname = value_names[value]
self.sname = suit_names[suit]
def __str__(self):
#Irrelevant
def __repr__(self):
#Irrelevant
如何使我的程序将具有x且值y的卡a的程序注册为与具有x且值y的卡b的程序相同?
编辑: 对于将来{@ {1}}之外的人来说,
__eq__
对于for循环中指定的相等性是必需的
答案 0 :(得分:1)
您需要在课程上定义<!--
<li><a href="https://"></a></li>
-->
<span>
<ul id="buttons">
<li>Programming</li>
<li><a href="https://codeforces.com">Codeforces</a></li>
<li><a href="https://vnoi.info">VNOI</a></li>
<li><a href="https://vnoi.info/wiki/Home">VNOI Wiki</a></li>
<li><a href="https://docs.google.com/spreadsheets/d/1xSPwkmXcGotPTO4hrbBRwyxngxgOEXpJCCRWJEq04BI/edit#gid=0">Tài liệu lập trình</a></li>
<li><a href="https://www.mediafire.com/folder/9jm64z3or98au/C_C%2B%2B">C C++</a></li>
<li><a href="https://www.youtube.com/watch?v=9kohr6pMwag&list=PL33lvabfss1wUj15ea6W0A-TtDOrWWSRK">C# Kteam</a></li>
<li><a href="https://cspcope.tk/Problem"></a></li>
</ul>
</span>
<span>
<ul id="buttons">
<li>Minecraft</li>
<li><a href="https://minecraft.tools/en/">Minecraft Tools</a></li>
<li><a class="hypixel" href="https://hypixel.net">Hypixel</a></li>
<li><a href="https://minecraft.net">Official Minecraft Site</a></li>
<li><a href="https://aternos.org/server/">MCPC 2</a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</span>
<span>
<ul id="buttons">
<li>Phim và giải trí</li>
<li><a href="https://www.fshare.vn/folder/ICWBG4Y927K1#!#94u203z203r2t2e47413z2e4u25423">Phim Việt</a></li>
</ul>
</span>
<span></span>
来处理比较。这是docs。您可能还希望实现__eq__
。文档对此进行了更多讨论。
__hash__