не могу вывести в файл сумму элементов матрицы под самой матрицей, если добавить f.write(str(sum)) пишет
def creator():
n = int(input('Введите n ='))
a = [[0] * n for i in range (n)]
counter = 1
sum = 0
for x in range(n):
for y in range(n):
a[x][y] = counter
counter += 1
sum += a[x][y]
print(a[x][y], end='\t')
print()
print(sum)
return a
with open('summa.txt', 'w')as f:
for i in creator():
f.write(str("\t".join(map(str, i))))
f.write("\n")
f. write(str(sum))
f.close()
Ответы (1 шт):
Автор решения: versetty777
→ Ссылка
нужно использовать другое имя для переменной суммы:
def creator():
n = int(input('Введите n ='))
a = [[0] * n for i in range (n)]
counter = 1
matrix_sum = 0
for x in range(n):
for y in range(n):
a[x][y] = counter
counter += 1
matrix_sum += a[x][y]
print(a[x][y], end='\t')
print()
print(matrix_sum)
return matrix_sum
with open('summa.txt', 'w') as f:
for i in a:
f.write(str("\t".join(map(str, i))))
f.write("\n")
f.write(str(creator()))
f.close()
или даже так:
def creator():
n = int(input('Введите n ='))
a = [[0] * n for i in range (n)]
counter = 1
matrix_sum = 0
for x in range(n):
for y in range(n):
a[x][y] = counter
counter += 1
matrix_sum += a[x][y]
print(a[x][y], end='\t')
print()
print(matrix_sum)
return a,matrix_sum
with open('summa.txt', 'w') as f:
matrix,matrix_sum = creator()
for i in matrix:
f.write(str("\t".join(map(str, i))))
f.write("\n")
f.write(str(matrix_sum))
f.close()