下面两个代码的区别在于zh_yundong = {"怪物类型": "普通", "血量": 1000}是否在 for cishu in range(7)之下
但是输出的结果却不一样,第一段代码的输出结果是我想要的,即前3个怪物是精英,后面的怪物是普通怪物。但是第二段代码的结果却是全部都变成了精英怪物,这是为什么?
guaiwu = []
#先制造一个总的怪物关系,之后更改怪物信息再用切片修改
for cishu in range(7):
zh_yundong = {"怪物类型": "普通", "血量": 1000}
guaiwu.append(zh_yundong)
print(guaiwu)
#此时我们想将一部分怪物信息变化
for guaiwu_2 in guaiwu[:3]:
if guaiwu_2["怪物类型"] == "普通":
guaiwu_2["怪物类型"] = "精英"
guaiwu_2["血量"] = 2000
print("本次实验成功")
print(guaiwu)
guaiwu = []
#先制造一个总的怪物关系,之后更改怪物信息再用切片修改
zh_yundong = {"怪物类型": "普通", "血量": 1000}
for cishu in range(7):
guaiwu.append(zh_yundong)
print(guaiwu)
#此时我们想将一部分怪物信息变化
for guaiwu_2 in guaiwu[:3]:
if guaiwu_2["怪物类型"] == "普通":
guaiwu_2["怪物类型"] = "精英"
guaiwu_2["血量"] = 2000
print("本次实验成功")
print(guaiwu)