所以我昨天开始用Python,在我的第一个项目中,我想让怪物们互相战斗。你知道吗
我还处在开始阶段,我想用我创造的怪物来填充一个列表。我的怪物函数询问它应该创建多少个怪物,并返回一个包含所有怪物的列表。你知道吗
不知何故,我的代码是错误的,只返回一个怪物:(
def create_monster(number):
monster = [0] * number
for i in monster:
"""monster = [ID,GENDER,NAME,HP,ATK,DEF,SATK,SDEF,AGIL,]"""
monster[i] = [monster_identifier(), monster_gender(), None]
monster[i][2] = monster_name(monster[i][1])
return monster
例如,此代码的输出用于number=3
[[3, 'Male', 'Berid'], 0, 0]
但应该是这样的
[[1,'Male','Berid'],[2,'Female','David'],[3,'Male','Holger']]
你的循环:
迭代
monster
列表中的值。您不会得到索引,因为Python循环是foreach constructs。你知道吗您的列表只包含数字
0
:所以所有
i
都设置为0
。这就是为什么您只会更改索引0处的元素,无论您在哪里编写monster[i]
,您都可以为相同的结果编写monster[0]
。你知道吗与其用零来预先构建列表,只需在循环时使用^{} 添加新元素,并使用^{} 计算您创建了多少怪物:
我将函数和列表重命名为复数形式
monsters
,以表明这不仅仅是一个怪物。你知道吗简单地替换
与
相关问题 更多 >
编程相关推荐