给定一个列表和一个值,列表中数字两两相加如果有等于这个值的,
就返回这两个值的索引,否则返回[-1, -1],比如:
1. 给定列表[1, 5, 7, 20], 给定值12,返回[1,2]
2. 给定列表[1, 2, 6, 8 ], 给定值2,返回[-1, -1]
a=eval(input())
x=int(input())
flag=1
for i in range(len(a)):
for j in range(len(a)):
if a[i]!=a[j] and a[i]+a[j]==x:
print("["+str(i)+","+str(j)+"]")
flag=0
break
if flag==0:
break
if flag:
print([-1, -1])
代码如下:{如果对你有帮助,可以给我个采纳吗,谢谢!! 点击我这个回答右上方的【采纳】按钮}。
def func(li,n):
for i in range(1,len(li)):
for j in range(i):
if li[j]+li[i]==n:
return [j,i]
return [-1,-1]
print(func([1, 5, 7, 20],12))
print(func([1, 2, 6, 8 ],2))
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
shu = [1,2,3,556,22,23] #你可以随机创建
zhi = int(input('值:'))
c = 0
for i in shu:
for n in shu:
if i + n == zhi:
print('[' + str(shu.index(i)) + ',' + str(shu.index(n)) + ']')
c = 1
if c == 0:
print('[-1'+','+'-1]')
望有不足请指点··