求大神帮忙看看,怎么做这题
题目:已有一个没有重复的整数列表,如 ,有一个整数目标值,如9
这个目标值可能可以由列表中两个数字相加得到,如 2 + 7,-3 + 12, 4 +5
建立一个函数
def fun(mylist, target):
return 列表
要求返回的列表为如下形式:
[, [-3, 12], ]
如果仅有一个返回
如果没有返回
[]
注:不要有重复的,如和 好眼熟,126题 第四时空 发表于 2017-11-22 16:06
好眼熟,126题
怎么解呢,用了两个for循环,还是不行 天天上头条 发表于 2017-11-22 16:07
怎么解呢,用了两个for循环,还是不行
def fun(mylist, target):
mylist = sorted(mylist)
result = []
for i in range(0, len(mylist)):
if mylist > target / 2:
break
for j in range(i + 1, len(mylist)):
if mylist + mylist > target:
break
if mylist + mylist == target:
result.append(, mylist])
return result if len(result) == 1 else result
可以参考一下 你可以等到答案揭晓 这是我写的~互勉
L =
def fun(mylist, target):
newlist = mylist[:]
rs = []
for i in mylist:
for j in newlist:
if i + j == target:
rs.append()
newlist.remove(i)
if len(rs) == 1:
return rs
else:
return rs
#测试代码
for x in range(10):
r = fun(L,x)
print(r) 第四时空 发表于 2017-11-22 16:30
可以参考一下
3Q
页:
[1]