【Python】求一个数组中的奇数的立方的和

标签: python数组数据库
477人阅读 评论(0) 收藏 举报
分类:

问题

给出一个数字的数组,找出其中的奇数,将他们各自的立方和相加,返回结果

思路

  • 数组
  • 循环
  • 判断
  • 求和

解决方法

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)
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:415344次
    • 积分:6600
    • 等级:
    • 排名:第3775名
    • 原创:260篇
    • 转载:13篇
    • 译文:3篇
    • 评论:60条
    博客专栏
    个人网站
    微信订阅号
    欢迎加入QQ群
    玩家老黄历(微信小程序)
    最新评论