checkio练习题:even-last

给你一个整数数组,需要你把具有偶数索引的元素相加(0,2,4 ...),然后把相加后得到的数与最后一个元素相乘。
不要忘记,第一个元素的索引是0。

如果传入的是一个空数组,则应该返回0。

输入: 一个整数列表

输出: 你得出的答案(整数值类型)

举个栗子:

checkio([0, 1, 2, 3, 4, 5]) == 30
checkio([1, 3, 5]) == 30
checkio([6]) == 36
checkio([]) == 0

应该怎么做: 索引和切片是Python和其他语言编码的重要元素。 这将派上用场!

前提条件: 0 ≤ len(array) ≤ 20
all(isinstance(x, int) for x in array)
all(-100 < x < 100 for x in array)

 

def checkio(array):
    """
        sums even-indexes elements and multiply at the last
    """
#     sum = 0
#     if len(array) == 0:
#         return 0
#     for i in range(len(array)):
#         if not i % 2:
#             sum = sum + array[i]
#     return sum * array[-1]
     return sum(array[::2]) * array[-1] if array else 0

#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
    assert checkio([0, 1, 2, 3, 4, 5]) == 30, "(0+2+4)*5=30"
    assert checkio([1, 3, 5]) == 30, "(1+5)*5=30"
    assert checkio([6]) == 36, "(6)*6=36"
    assert checkio([]) == 0, "An empty array = 0"
    print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值