Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无论我尝试什么,我都无法打印值,我一直在-->_Python - Fatal编程技术网

Python 无论我尝试什么,我都无法打印值,我一直在-->

Python 无论我尝试什么,我都无法打印值,我一直在-->,python,Python,我正在尝试将卡片c添加到卡片组d,但我无法打印卡片组,而是一直在打印 您似乎有缩进错误。您的c、d和d.addCardc声明应间隔缩进一次。同样的需要也适用于你的卡牌和甲板类中的所有东西 您似乎有缩进错误。您的c、d和d.addCardc声明应间隔缩进一次。同样的需要也适用于你的卡牌和甲板类中的所有东西 您没有在类函数中引用特定的类实例。更改甲板类定义,如下所示: class Deck(): def __init__(self): self.theCards = []

我正在尝试将卡片c添加到卡片组d,但我无法打印卡片组,而是一直在打印


您似乎有缩进错误。您的c、d和d.addCardc声明应间隔缩进一次。同样的需要也适用于你的卡牌和甲板类中的所有东西


您似乎有缩进错误。您的c、d和d.addCardc声明应间隔缩进一次。同样的需要也适用于你的卡牌和甲板类中的所有东西


您没有在类函数中引用特定的类实例。更改甲板类定义,如下所示:

class Deck():
    def __init__(self):
        self.theCards = []
    def addCard(self, theCard):
        self.theCards.append(theCard)
        print(self.theCards)

您没有在类函数中引用特定的类实例。更改甲板类定义,如下所示:

class Deck():
    def __init__(self):
        self.theCards = []
    def addCard(self, theCard):
        self.theCards.append(theCard)
        print(self.theCards)

您应该迭代您的卡并调用它们上的变量,因为打印对象列表只显示特定的内存地址,而不显示属性。而不是:

打印卡片 使用与此类似的循环:

对于卡片组中的卡片。卡片: 普林特瓦尔斯卡德 它打印对象的所有变量及其对应值。我还假设您希望拥有不同玩家的不同牌组,但您的代码当前将在类定义中保存牌列表。因此,使用组调用创建的组类型的所有对象共享相同的卡列表。假设您添加了另一组:

将卡片添加到我的牌组中 打印播放器1 c=Cardsh,[fire,258] d=甲板 d、 addCardc 打印播放器2 c2=Cardit,[水,258] d2=甲板 d2.addCardc2 玩家2的牌组还包括玩家1的牌,反之亦然。建议的代码扩展的打印输出:

玩家1 {'name':'sh','moves':['fire',258]} 玩家2 {'name':'sh','moves':['fire',258]} {'name':'it','moves':['water',258]} 用户“insert random”以前已经提供了解决方案。要使用两个不同的卡片列表获得两个不同的卡片组,必须将卡片列表存储在类实例中,而不是类定义中。下面是整个更新代码:

班级卡: 定义初始自我,名称,移动: self.name=名称 self.moves=列表移动 舱面: 定义初始自我: self.theCards=[] def添加卡自身,卡: 自助卡。附加卡 对于自助卡中的卡: 普林特瓦尔斯卡德 将卡片添加到我的牌组中 打印播放器1 c=Cardsh,[fire,258] d=甲板 d、 addCardc 打印播放器2 c2=Cardit,[水,258] d2=甲板 d2.addCardc2 请注意,使用self而不是Deck为使用Deck调用创建的每个新Deck存储不同的卡片列表。此列表是由初始类构造函数创建的,而不是由类定义本身创建的。 控制台输出:

玩家1 {'name':'sh','moves':['fire',258]} 玩家2 {'name':'it','moves':['water',258]} 我猜这就是你想要的。 带词典的版本:

将卡片添加到我的牌组中 打印播放器1 c={'name':'sh','moves':[fire,258]} d={'theCards':[c]} d中卡片的打印列表卡片['theCards'] 打印播放器2 c2={'name':'it','moves':[water,258]} d2={‘卡片’:[c2]} d2中卡的打印列表卡[“卡片”]
您应该迭代您的卡并调用它们上的变量,因为打印对象列表只显示特定的内存地址,而不显示属性。而不是:

打印卡片 使用与此类似的循环:

对于卡片组中的卡片。卡片: 普林特瓦尔斯卡德 它打印对象的所有变量及其对应值。我还假设您希望拥有不同玩家的不同牌组,但您的代码当前将在类定义中保存牌列表。因此,使用组调用创建的组类型的所有对象共享相同的卡列表。假设您添加了另一组:

将卡片添加到我的牌组中 打印播放器1 c=Cardsh,[fire,258] d=甲板 d、 addCardc 打印播放器2 c2=Cardit,[水,258] d2=甲板 d2.addCardc2 玩家2的牌组还包括玩家1的牌,反之亦然。建议的代码扩展的打印输出:

玩家1 {'name':'sh','moves':['fire',258]} 玩家2 {'name':'sh','moves':['fire',258]} {'name':'it','moves':['water',258]} 用户“insert random”以前已经提供了解决方案。要使用两个不同的卡片列表获得两个不同的卡片组,必须将卡片列表存储在类实例中,而不是类定义中。下面是整个更新代码:

班级卡: 定义初始自我,名称,移动: self.name=名称 self.moves=列表移动 舱面: 定义初始自我: self.theCards=[] def添加卡自身,卡: 自助卡。附加卡 对于自助卡中的卡: 普林特瓦尔斯卡德 将卡片添加到我的牌组中 打印播放器1 c=Cardsh,[fire,258] d=甲板 d、 addCardc 打印播放器2 c2=Cardit,[水,258] d2=甲板 d2.addCardc2 请注意,使用self而不是Deck为使用Deck调用创建的每个新Deck存储不同的卡片列表。此列表是由初始类构造函数创建的,而不是由类定义本身创建的。 控制台输出:

玩家1 {'name':'sh','moves':['fire',258]} 玩家2 {'name':'it','moves':['water',258]} 我猜这就是你想要的。 带词典的版本:

将卡片添加到我的牌组中 打印播放器1 c={'name':'sh','moves':[fire,258]} d={'theCards':[c]} d中卡片的打印列表卡片['theCards'] 打印播放器2 c2={'name':'it','moves':[water,258]} d2={‘卡片’:[c2]} d2中卡的打印列表卡[“卡片”]
默认情况下,当Python打印列表时,它会打印列表元素的名称。对于许多对象,包括自定义类,默认的repr如下所示

您可以通过在类上定义一个_repr_uu方法来覆盖此行为。按照惯例,u_repr_u_u的输出应该是一个字符串,如果将对象传递给您,该字符串将生成您的对象

对于card类,它将如下所示:

班级卡: 定义初始自我,名称,移动: self.name=名称 self.moves=列表移动 定义报告自我: 返回卡{},{}.formatself.name,self.moves 修复缩进后,将此输出提供给脚本:

[卡片'sh',['fire',258]]
您还可以定义一个_ustr_uuu方法,以自定义调用strmyobject时对象的显示方式。如果未定义uu str uu,Python将使用u repr uu。

默认情况下,当Python打印列表时,它会打印列表元素的名称。对于许多对象,包括自定义类,默认的repr如下所示

您可以通过在类上定义一个_repr_uu方法来覆盖此行为。按照惯例,u_repr_u_u的输出应该是一个字符串,如果将对象传递给您,该字符串将生成您的对象

对于card类,它将如下所示:

班级卡: 定义初始自我,名称,移动: self.name=名称 self.moves=列表移动 定义报告自我: 返回卡{},{}.formatself.name,self.moves 修复缩进后,将此输出提供给脚本:

[卡片'sh',['fire',258]]
您还可以定义一个_ustr_uuu方法,以自定义调用strmyobject时对象的显示方式。如果未定义uuu str uuuu,Python将使用uu repr uuu。

尝试使用.data。c、 数据。它是一个具有“data”属性的对象,其中包含实际数据。请尝试使用.data。c、 数据。它是一个具有“data”属性的对象,其中包含实际数据。打印对象列表时不调用对象的str,只调用repl。但是你必须小心repl,你已经提到了。作为一个初学者,我将继续使用循环,而不是重写repl。打印对象列表时不会调用对象的str,只有repl是。但是你必须小心repl,你已经提到了。作为一个初学者,我将继续使用循环,而不是重写repl。但是terminal中没有显示缩进错误,terminal中没有显示缩进错误
class Deck():
    def __init__(self):
        self.theCards = []
    def addCard(self, theCard):
        self.theCards.append(theCard)
        print(self.theCards)