[算法和数据结构入门][Day1]实现1到100奇数求和的五类方法


Day1前100奇数求和

循环

#  for循环
sum1 = 0
for i in range(1,100,2):
    sum += i
print('for循环结果:',sum1)

# while循环
sum = 0
i =1
while i < 100:
    sum1 += i
    i += 2
print('while循环的结果:',sum1)

自定义函数

# 自定义函数求和
def function_sum(i,j):
    return i + j
result = 0
for i in range(1,100,2):
    result = function_sum(result,i)
print(result)

数组切片

对于列表L的切片L[start: stop: step]:
如果step>0,L[: : step]等价于L[0: len(L): step];
如果step<0,L[: : step]等价于L[-1: -1 - len(L): step].

sum(list(range(100))[1::2])

列表解析式

sum([i for i in range(100) if i % 2 != 0])或者sum([i for i in range(1,100,2)])

使用numpy库

# 采用numpy库的arange方法
import numpy as np
print(np.arange(1,100,2).sum())
# 采用numpy库的linspace方法
import numpy as np
print(np.linspace(1,99,50,dtype = int).sum())

使用reduce迭代

from functools import reduce 
reduce(lambda x,y:x+y,range(1,100,2))
#计算1到5的和
发布了42 篇原创文章 · 获赞 28 · 访问量 4961

猜你喜欢

转载自blog.csdn.net/KaelCui/article/details/105292217