学习记录
得到一组数字,返回所有正数的总和
示例:(1,-4,7,12)->1+7+12=20
注意:如果没有要求的总和,则默认值为0
#方法一
#求表达式中正数的和
def positive_sum(nums):
return sum([n for n in nums if n>0])
assert positive_sum([1,-4,7,12])==20
assert positive_sum([1,2,3,4,5])==15
assert positive_sum([-1,2,3,4,-5])==9
assert positive_sum([])==0
方法二
#求表达式中正数的和
def positive_sum(s):
ls=[]
for i in s:
if i>0:
ls.append(i)
return sum(ls)
#模仿一次断言,感觉很酷
assert positive_sum([1,-4,7,12])==20
assert positive_sum([1,2,3,4,5])==15
assert positive_sum([-1,2,3,4,-5])==9
assert positive_sum([])==0
#方法三
#求表达式中正数的和
def sum_positive(list_to_sum):
output=sum([i for i in list_to_sum if i>0])
return output if output else 0
list1=[1,-4,7,12]
sum_positive(list1)
#三元表达式
#解法四
def positive_sum(num_list):
return sum([i if i>0 else 0 for i in num_list])
if __name__ =='__main__':
print(positive_sum([1,2])