[Introducción a algoritmos y estructuras de datos] [Día1] Cinco tipos de métodos para lograr una suma de 1 a 100


Las primeras 100 sumas impares del día 1

Ciclo

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

Función personalizada

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

Rebanada de matriz

Para el segmento L de la lista L [inicio: detener: paso]:
si paso> 0, L [:: paso] es equivalente a L [0: len (L): paso];
si paso <0, L [:: paso ] Es equivalente a L [-1: -1-len (L): paso].

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

Lista de comprensión

sum ([i para i en el rango (100) si i% 2! = 0]) 或者 sum ([i para i en el rango (1,100,2)])

Use una biblioteca 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())

Utilice reducir iteración

from functools import reduce 
reduce(lambda x,y:x+y,range(1,100,2))
#计算1到5的和
Publicado 42 artículos originales · elogiado 28 · visitas 4961

Supongo que te gusta

Origin blog.csdn.net/KaelCui/article/details/105292217
Recomendado
Clasificación