【Python】求一個數組中的奇數的立方的和
阿新 • • 發佈:2019-01-22
問題
給出一個數字的陣列,找出其中的奇數,將他們各自的立方和相加,返回結果
思路
- 陣列
- 迴圈
- 判斷
- 求和
解決方法
sum求和,內部迭代判斷奇偶
def cube_odd(arr):
try:
return sum([i ** 3 for i in arr if i % 2 != 0])
except TypeError:
return None
sum求和,type判斷其中是不是有不是數字的元素
def cube_odd(arr):
return sum( n**3 for n in arr if n % 2 ) if all(type(n) == int for n in arr) else None
lambda表示式封裝判斷過程
def cube_odd(arr):
if list(filter(lambda x: type(x) == str, arr)):
return None
else:
pass
arrOddCubed = []
for i in range(0, len(list(filter(lambda x: x % 2 != 0, arr)))):
arrOddCubed.append(list(filter(lambda x: x % 2 != 0, arr))[i] ** 3)
return sum(arrOddCubed)