С 2 входными числами я пытался сделать следующую матрицу в Python

decay=0.5
len=4

0.5      0      0       0
0.25     0.5    0       0
0.125    0.25   0.5     0
0.0625   0.125  0.25    0.5
0
fred.schwartz 23 Апр 2020 в 19:56

2 ответа

Лучший ответ

Это решение:

def prepare_matrix(decay, length):
    matrix = []
    for row in range(1, length + 1):
        inner_row = []
        col = row
        for i in range(length):
            if col > 0:
                inner_row.append(decay ** col)
            else:
                inner_row.append(0)
            col -= 1
        matrix.append(inner_row)
    return matrix


result = prepare_matrix(0.5, 4)
print(result)
2
Taohidul Islam 23 Апр 2020 в 17:14

Ты можешь сделать это:

matrix=lambda decay,len: [[decay**x for x in range(x,0,-1)]+[0]*(len-x) for x in range(1,len+1)]
print(matrix(0.5,4))
0
Sho_Lee 23 Апр 2020 в 17:24