1、传统python写法 --for 循环
def func3(maxdata):
result =0
for i in range(maxdata+1):
result += i
print(result)
2、列表推导式写法(比较pythonic)
def func4(maxdata):
print(sum([i for i in range(maxdata+1)])) #sum(list)可以对整个列表进行求和
#listdata =[i for i in range(maxdata+1)]
#print(sum(listdata))
列表推导式的其他用法
求789这个数字的每个位数的3次方之和
1、可以通过传统的对10,100进行求商算法 求出每位数是多少
2、通过列表推导式
def func5(data):
str_data =str(data) #将int数据转为string,便于使用for i in string
list_data =[int(i)**3 for i in str_data] #通过 for i in string可以将string中的每个字符拆分开,记得要转为int后才能进行3次方操作
print(sum(list_data))
原文:https://www.cnblogs.com/jesse-zhao/p/14490198.html