Python嵌套循环计算(x+y)²出现重复值问题求助
问题分析与修复
你的代码使用了嵌套循环,这会让每个x元素与所有y元素逐一配对计算,最终生成 len(x)*len(y) 个结果(总共81条输出)。你看到的重复序列正是因为每次外层循环切换x值时,内层循环都会遍历一遍所有y值,导致相同的y组合被重复计算。
如果你想要的是对应索引位置的x和y元素配对计算(即x[0]配y[0],x[1]配y[1],以此类推),可以去掉嵌套循环,改用以下两种方式:
方法1:使用zip并行遍历
x = [2,4,6,8,10,12,14,16,18] y = [10,8.25,7.5,7,6.5,7,7.5,8.25,10] for xi, yi in zip(x, y): print((xi + yi)**2)
方法2:使用索引遍历(单循环)
x = [2,4,6,8,10,12,14,16,18] y = [10,8.25,7.5,7,6.5,7,7.5,8.25,10] for i in range(len(x)): print((x[i] + y[i])**2)
这两种方式都会输出9个结果,每个结果对应一组同索引的x和y元素计算值,不会出现重复序列。
内容的提问来源于stack exchange,提问作者user12101044
相关产品推荐
相关产品推荐

