python for循环求和_Python for循环和“ sum13”方法

我是一位本机C程序员,刚开始学习python,并且已获得以下编写方法:

Return the sum of the numbers in the array, returning 0 for an empty array. Except the number 13 is very unlucky, so it does not count and numbers that come immediately after a 13 also do not count.

我的解决方案是:

def sum13(nums):

elem_sum = 0

index = 0

while index < len(nums):

if nums[index] != 13:

elem_sum += nums[index]

else:

index += 1 #nums[i] is 13, so skip the next element'

index += 1

return elem_sum

那些熟悉其他基于C语言的人会发现这里的循环类似于(相当干净的)

for(int i = 0; i < nums.size() /*nums.length*/; ++i) {

if(nums[i] != 13) elem_sum += nums[i];

else i++;

}

请注意,我是几天前才开始学习Python的,所以我对这门语言还是很陌生.我希望有人可以提供一些有关如何以“ Python”方式编写此循环的建议,或者可以使用我可能不知道的某些语言功能提供更干净的解决方案.

在之前的尝试中(无效),我进行了以下操作:

for i in range(len(nums)):

if nums[i] != 13:

elem_sum += nums[i]

else:

i += 1 #nums[i] is 13, so skip the next element'

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值