python,每次for循环运行的的结果,全部保存在字典中
c = 0
for i in range(1, 7):
c = c + 1
item = {"值": c}
print(item)

为什么他只会把最后一个结果输出,而不是输出所有的结果,正确的代码应该是怎样的?求指点
基于Monster 组和GPT的调写:
当前的代码只保存了一次循环的结果,因此输出的字典中只包含一组键值对,其键是 "值",值是最后一次循环的结果。
如果要将每次循环的结果都保存到字典中,可以在循环内部使用一个列表来保存每次的结果,然后在循环结束后将列表转换成字典。例如:
results = []
for i in range(1, 7):
c = c + 1
item = {"值": c}
results.append(item)
dict_result = {"结果": results}
print(dict_result)
因为item和打印item的语句没有放到for循环里面,而是放在for循环外面,所以只打印了最后一个值,可以把相应代码放到for循环中;
然后如果是把每次运行结果保存在字典中,需要不同的键,把"值"和当前i的值作为键的话,可以在循环中,以此为键,然后以c的值为值,不断将各项键值对添加到字典中;如果是把所有运行结果放在一个列表中作为其值,即只需要一个键,最后打印结果即可,下面的例子使用第一种办法:
修改如下:
c = 0
z={}
for i in range(1, 7):
c = c + 1
#item = {"值": c}
# print(item)
z["值"+str(i)]=c # 以"值"+i的值作为每一项的键,c的值作为每一项的值
# print(z)
# 打印结果
print(z)
若有帮助,望给个采纳,谢谢!
【Python是非常讲究缩进编码的,因为你那里输出的和for循环是在同一水平所以只会输出第一个,应该放在for循环下一个水平,如下】
c = 0
for i in range(1, 7):
c = c + 1
item = {"值": c}
print(item)