#-*- coding: utf-8 -*-
import numpy as np
def sumCol(B, X, Y, h):
#Somme des éléments B[w, Y + h] avec w qui varie entre X et X - h
w = X
somme = 0
compteur = 0
while w >= X - h:
#Pour sortir du tableau, comme w décroit, la seule possibilité
#est que w dévienne négatif
if w >= 0:
somme += B[w, Y + h]
else:
compteur += 1
w -= 1
return somme
def exercise10(B, X, Y, K):
s = 0
M, N = B.shape
#Si h > N - Y, on sort du tableau en faisant Y + h
#Comme 0 <= h <= K, si K > N - Y, on arrête la boucle lorsque h
# atteint N - Y
#(Y + h < N ---> h < N - Y)
for h in range(min(K, N-Y)):
somme = sumCol(B, X, Y, h)
if (Y + h) % 2 == 0:
s += 2 * somme
else :
s -= somme
return s
M, N = 5, 7
B = np.random.randint(-2, 3, [M, N])
X = np.random.randint(0, M)
Y = np.random.randint(0, N)
K = np.random.randint(1, max(M, N))
print B, [X, Y, K], exercise10(B, X, Y, K)

Inconnu.






![[Valid RSS]](/design/valid-rss.png)