En Python, el triángulo de Yanghui siempre se elimina como una prueba de algoritmo, entonces, ¿qué es el triángulo de Yanghui? Ver definición
Primero observemos la siguiente leyenda del triángulo Yang Hui:
A través de la observación, encontrará que el primer y último número en cada fila del triángulo de Yanghui son 1, y el número que no es 1 de la tercera fila es la suma de los números en la parte superior izquierda y superior derecha.
Entonces puede comenzar a escribir código después de conocer la ley
def triangles(row):
count = 0
while count < row:
arr = []
for i in range(count+1):
if i > 0 and i < count:
arr.append(lastList[i-1] + lastList[i])
else:
arr.append(1)
lastList = arr
yield arr
count += 1
for t in triangles(10):
print(t)
Después de escribir el código anterior, mirando tanto código, ¿se puede simplificar el código?
Luego está el siguiente código
def triangles(row):
count = 0
while count < row:
arr = [arr[i-1] + arr[i] if i > 0 and i < count else 1 for i in range(count+1)]
yield arr
count += 1
for t in triangles(10):
print(t)
Este código es mucho más conciso