Python中如何将第一次循环的运算结果代入第二次循环执行计算
问题原因
- 代码执行顺序错误:定义
pairSet时就尝试读取空列表loop_input的第0位元素,此时循环还未执行,loop_input无任何值,会直接抛出索引越界错误。 - 数据类型错误:元组内存储的都是字符串类型的数字,直接用
+运算会执行字符串拼接,而非数值求和。
修正后代码
loop_input = [] # 第二次运算的前两个参数单独存储,不提前引用还未生成的loop_input值 pairSet = [("5", "6", "7"), ("8", "9")] for index, item in enumerate(pairSet): if index == 0: # 第一次循环先把字符串转成整数,执行三个值的求和 i, j, k = item sum_values = int(i) + int(j) + int(k) loop_input.append(sum_values) else: # 第二次循环动态读取第一次的求和结果作为第三个参数 i, j = item sum_values = int(i) + int(j) + loop_input[0] loop_input.append(sum_values) result = loop_input[1]
运行验证
第一次求和结果为5+6+7=18,第二次求和结果为8+9+18=35,最终result值为35,符合预期需求。
内容的提问来源于stack exchange,提问作者BJonas88
相关产品推荐
相关产品推荐

