Почему код всегда выводит массив после изменений?

def vvod(a):
    name = []
    for i in range(a):
        name.append([0]*a)
        for j in range(a):
            elem = int(input('Введите элементы массива:'))
            name[i][j] = elem
    return name
def vivod(name, name0):
    print("Массив до изменений:")
    for i in name:
        for j in i:
            print(j, end='   ')
        print()
    print("Массив после изменений:")
    for i in name0:
        for j in i:
            print(j, end='   ')
        print()
def poiskMax(name):
    m = max(max(name))
    print(m)
    return m
def zamena(name0, b):
    b = int(b)
    for i in range(len(name0)):
        for j in range(len(name0)):
            if name0[i][j] > 0:
                name0[i][j] = name0[i][j] - b

    return name0

massiv = vvod(2)
print('Дальше элементы второго массива')
massiv2 = vvod(2)
print(massiv,massiv2)
maximym = poiskMax(massiv)
maximym2 = poiskMax(massiv2)
mass = zamena(massiv, maximym2)
mass2 = zamena(massiv2, maximym)
vivod(massiv, mass)
vivod(massiv2, mass2)

код должен выводить массив до изменений и после но выводит в обоих случаях после


Ответы (1 шт):

Автор решения: eri

Вы заменяете символы в изначальном массиве - поэтому он и изменен. Создайте новый массив для записи изменений

→ Ссылка