Python列表追加问题:循环中无法得到预期输出如何修复?
问题修复方案
你的代码问题出在变量复用混乱:每次循环里先把Ci从列表改成数值,再将它替换成arCi的列表,导致后续循环时Ci[0]已经不是最初的1.0,而是第一次循环产生的0.0,之后所有计算都是0.0乘i,结果自然全为0。
要得到预期输出,只需明确变量职责:用固定变量保存初始基准值,循环中直接用它乘以当前i,再追加到结果列表即可。
修复后的代码:
arCi = [] base = 1.0 # 固定基准值,不随循环修改 for i in range(0, 4): current_value = base * i arCi.append(current_value) print(arCi)
如果想保留Ci作为结果列表的变量名,也可以这么写:
Ci = [] base = 1.0 for i in range(0, 4): Ci.append(base * i) print(Ci)
运行后输出:
[0.0, 1.0, 2.0, 3.0]
内容的提问来源于stack exchange,提问作者nehrumodi
相关产品推荐
相关产品推荐

