[アルゴリズムとデータ構造の概要] [Day1] 1〜100の奇数の合計を達成するための5種類の方法


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の場合[開始:停止:ステップ]:
ステップ> 0の場合、L [::ステップ]はL [0:len(L):ステップ]と同等であり
、ステップ<0、L [::ステップの場合] 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())

反復の削減を使用する

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