我正在创建一个名为Card的类,它将处理一张卡片(random),使用then deal方法,它将使用random处理一张卡片,然后我将定义face_值,它将返回Card对象的值,例如:1=one,12=queen。以下是目前为止的情况。我有点搞不清创建一个类是怎么工作的,有人能给我解释一下吗?因为这本书让我更加困惑。在
import random
class Card:
def __init__(self):
self.__value = 0
def deal(self):
self.__value = random.randint(1,13)
def find_face_value(self):
if value == 1:
print ("Ace")
elif value == 2:
print ("Two")
elif value == 3:
print ("Three")
elif value == 4:
print ("Four")
elif value == 5:
print ("Five")
elif value == 6:
print ("Six")
elif value == 7:
print ("Seven")
elif value == 8:
print ("Eight")
elif value == 9:
print ("Nine")
elif value == 10:
print ("Ten")
elif value == 11:
print ("Jack")
elif value == 12:
print ("Queen")
elif value == 13:
print ("King")
else:
# This will catch any invalid card values
print ("Invalid card")
return self.__value
这是第二个测试程序:
^{2}$
你开局不错!你想在初始化对象时创建随机的卡片值(因为这就是初始化的目的),而且你不想在你的card类中有一个
deal
函数,因为那是用于deck的。我还建议使用列表值,而不是if-elif语句的集合。最后,有一种特定的方法可以打印出对象的状态/值/状态:字符串方法__str__(self)
。在这还没有经过测试,但你知道了大概的想法。 顺便说一句,几乎所有事情都需要自我。在
您可能需要将
Card
对象的表示与随机生成的Card
分开。下面是一种使用类变量指定
str
表示的方法:输出示例:
^{pr2}$注:
这个例子从无限牌堆中抽取牌。同一张卡可以多次生成。在
如果你想限制牌的数量,你可以使用一个
Deck
类;可以这样:从那里,它很容易添加功能,将处理手从一个牌组到不同的球员。在
相关问题 更多 >
编程相关推荐