python有4个数字_python – 找到4个数字,其总和为给定数字

需要从列表中找到4个数字,其总和将等于给定的“sum_”

def find_four(nums, sum_):

if len(nums) < 4:

return

i = 0

i2 = 1

i3 = 2

i4 = 3

while True:

num_sum = nums[i] + nums[i2] + nums[i3] + nums[i4]

if num_sum == sum_:

return [nums[i], nums[i2], nums[i3], nums[i4]]

elif i == len(nums) - 4:

return

elif i2 == len(nums) - 3:

i += 1

elif i3 == len(nums) - 2:

i2 += 1

elif i4 == len(nums) - 1:

i3 += 1

elif i4 != len(nums):

i4 += 1

我的代码适用于一些列表,如:

find_four([1,1,1,5,1,5,7],10)或

find_four([4,6,1,4,1,6,2],13).

但它不适用于一些例如’

find_four([7,5,1,4,1,6,2],11)(需要打印7,1,1,2)

怎么了 ??

标签:python,python-3-x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值