如果矩阵的维数始终为奇数,则矩阵的维数为:>>> from pprint import pprint
>>> def gen_table (rows, columns):
matrix = [["_"] * columns for _i in range(rows)]
#Indexes of first diagonal
diag1 = [(i, i) for i in xrange(rows)]
#Indexes of second diagonal
diag2 = [(rows-i-1, i) for i in xrange(rows)]
#Iterate over the indexes from diag1 and diag2 and modify matrix
for i, j in diag1 + diag2:
matrix[i][j] = 'S'
return matrix
...
>>> pprint(gen_table(5,5))
[['S', '_', '_', '_', 'S'],
['_', 'S', '_', 'S', '_'],
['_', '_', 'S', '_', '_'],
['_', 'S', '_', 'S', '_'],
['S', '_', '_', '_', 'S']]
>>> pprint(gen_table(7,7))
[['S', '_', '_', '_', '_', '_', 'S'],
['_', 'S', '_', '_', '_', 'S', '_'],
['_', '_', 'S', '_', 'S', '_', '_'],
['_', '_', '_', 'S', '_', '_', '_'],
['_', '_', 'S', '_', 'S', '_', '_'],
['_', 'S', '_', '_', '_', 'S', '_'],
['S', '_', '_', '_', '_', '_', 'S']]
偶数维方阵输出:
^{pr2}$