正在从事CheckIO练习,但仍停留在这里。我需要设计一个函数,该函数将查找具有偶数索引(0th,2nd,4th ...)的元素的总和,然后将该求和的数字与数组的最后一个元素相乘。输入是一个数组,输出是一个数字。哦,对于一个空数组,结果必须为零。
def checkio(array):
sum = 0
if len(array) == 0:
return 0
else:
for i in array:
if array.index(i) % 2 == 0:
sum = sum + i
final = sum*(array[len(array)-1])
return final
例如,对于数组
[-37,-36,-19,-99,29,20,3,-7,-64,84,36,62,26,-76,55,-24,84,49,-65,41]
,该函数在应给出-1476
时将返回1968
。 最佳答案
这是我编写的工作程序。
def checkio(array):
listSum = 0
if array:
for i in range(0, len(array), 2):
listSum += array[i]
finalValue = listSum * array[-1]
return finalValue
else:
return 0
首先,它检查数组是否具有任何值。我们可以这样做:
if array:
。如果数组为空,它将返回0,如您所愿。现在,这将检查数组中的所有其他元素:
range(0, len(array), 2):
这意味着i
的值将从0开始,在数组的整个长度内继续,并以2计数。总和在这里添加:
listSum += array[i]
。这将获取变量listSum
并将其值添加到数组中索引i
处。 +=
运算符是listSum = listSum + array[i]
的简写。函数的最后一部分使用
listSum
变量,然后将其乘以array[-1]
,后者将获取数组中的最后一个值,并最终返回该值。当我在上面运行示例数组时,它应返回1968。
关于python - 涉及列表和索引的基本Python练习遇到麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29805003/