5. 给定一个列表和一个值,列表中数字两两相加如果有等于这个值的, 就返回这两个值的索引,否则返回[-1, -1],比如: 1. 给定列表[1, 5, 7, 20], 给定值12,返回[1,2] 2

  1. 给定一个列表和一个值,列表中数字两两相加如果有等于这个值的,
    就返回这两个值的索引,否则返回[-1, -1],比如:
  2. 给定列表[1, 5, 7, 20], 给定值12,返回[1,2]
  3. 给定列表[1, 2, 6, 8 ], 给定值2,返回[-1, -1]
import random
#生成一个列表
li1 = [random.randint(0,100) for i in range(20)]
print(li1)

##定一个列表li和一个值data,列表中数字两两相加如果有等于这个值的,
##就返回这两个值的索引,否则返回[-1, -1]
def a(li,data):
    i1 = 0#
    #判断li的个项是否全为整数或浮点数,全为整数或浮点数的话,i1为len(li)
    for i in range(len(li)):
        if isinstance(li[i],int or float):
            i1 += 1
    #判断li里的各项是否全为整数或浮点数,并且data也为整数或浮点数,是,执行操作,
    #否,打印输入参数有误
    if type(data) == (int or float ) and i1 == len(li):
        #从li中选择两个项,判断两项之和是否与data相等
        #相等则返回两个值的索引,否则,返回[-1,-1]
        for i in range(len(li)-1):
            for j in range(i+1,len(li)):
                if li[i]+li[j] == data:
                    return [i,j]
        else :
            return [-1,-1]
    else :
        print('输入参数有误,请重新输入:')


for i in range(30,300):
    print(a(li1,i),end = ' ')

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sun614

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值