python循环代码 - 把列表中数字两两相加求和
#求列表中的数字两两相加得到的所有和,自己用循环写了如下:#运行得到的结果是>>set()#用print()检查,好像是卡在i+=1之前动不了了#希望能得到大神的帮助#萌...
#求列表中的数字两两相加得到的所有和,自己用循环写了如下:#运行得到的结果是>>set()#用print()检查,好像是卡在 i += 1之前动不了了#希望能得到大神的帮助 #萌新爆哭#窗口把缩进取消了,我有老老实实缩进的list = [1,2,3,4,5,6,7,8]count = len(list)sum_num = set()n = 0for num in list:□□□□while True:□□□□□□□□i = 1□□□□□□□□a = list[n] + list[n+i]□□□□□□□□sum_num.add(a)□□□□□□□□if i == count:□□□□□□□□□□□□break□□□□□□□□i += 1□□□□n += 1print(sum_num)
展开
展开全部
data = [1, 2, 3, 4, 5, 6, 7, 8]
l = len(data)
res = set()
for i in range(l):
for j in range(i+1, l):
res.add(data[i] + data[j])
print(res)
# {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
另外,list是内置类型,自己定义变量名的时候不要使用
化简一下
data = [1, 2, 3, 4, 5, 6, 7, 8]
l = len(data)
res = {data[i] + data[j] for i in range(l) for j in range(i+1, l)}
print(res)
# {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
追问
哇,谢谢大大。我还是有一点好奇我的那一串代码为什么跑不起来(虽然写得很丑)…改了list,好像不是因为列表名的原因…
追答
不是名字的问题。
我看你的代码应该报错呀,是吗
IndexError: list index out of range
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询