Python如何在monster_fight函数中初始化两个空列表
怪物对战函数攻击记录列表初始化方案
你正在编写monster_fight(monster1, monster2)函数,需要补全初始化2个空列表的代码,两个列表将分别存储两只怪物对战过程中已使用过的攻击记录,当前已有代码框架如下:
def monster_fight(monster1, monster2): # initalise 2 empty list for each monsters attacks that have been used to fight
正确补全方式
直接在注释下方定义两个语义明确的空列表即可,推荐使用和业务含义绑定的变量名,避免后续逻辑混淆,补全后代码如下:
def monster_fight(monster1, monster2): # 初始化2个空列表,分别存储两只怪物已使用的攻击记录 monster1_used_attacks = [] monster2_used_attacks = [] # 后续对战逻辑写在下方
注意事项
- 不要使用
monster1_used_attacks = monster2_used_attacks = []的链式赋值写法,这种写法会让两个变量指向内存中同一个列表对象,后续给任意一个列表追加攻击记录时,另一个列表也会同步变更,导致两只怪物的攻击记录混杂,出现逻辑bug。 - 变量名尽量清晰对应所属怪物和存储内容,不要用
list1、list2这类无意义命名,避免后续代码迭代时搞混两个列表的用途。
内容的提问来源于stack exchange,提问作者dumplings
相关产品推荐
相关产品推荐

