Форум сайта python.su
0
Привет, уважаемые форумчане.
Никогда не прибегала к помощи форумов, но вот в случае Пайтона хочу попросить у вас помощи.
Осваиваю данный язык, но возникли затруднения с одним из заданий. Нужно сформировать матрицу по определённому условию, и отсортировать её.
Задание выглядит так:
Получить матрицу А (m*n) образованную по соответствующему закону: (i+j)/tg(j) размерностью 6x6, отсортировав столбцы по возрастанию.
Три дня возвращаюсь к этой задаче, но хоть убей - не получается…
Если кто-то поможет - куча благодарностей ^^
Офлайн
568
Результат мучений показывайте, должно же было у вас что-то родиться за три дня размышлений.
Офлайн
0
FishHook
Результат мучений показывайте, должно же было у вас что-то родиться за три дня размышлений.
import math a=[] i=1 j=1 ai=(i+j)/math.tan(j) a.append(ai)
Отредактировано marianka (Май 20, 2015 10:55:22)
Офлайн
568
Ок, как вы себе представляете матрицу в питоне?
Офлайн
0
FishHookдвумерный массив, как и везде. Список элементов “в длинну и ширину”, скажем так.
Ок, как вы себе представляете матрицу в питоне?
Офлайн
568
В терминологии питона вам нужен список списков.
lst = [[1, 2, 3], [2, 4, 6], [4, 6, 7] ]
Офлайн
88
mariankaНа всякий случай: массив любой размерности можно оформить в виде одномерного массива. Но я не призываю делать так сейчас.
двумерный массив, как и везде.
Отредактировано Shaman (Май 20, 2015 12:55:00)
Офлайн
857
>>> import math >>> >>> def create_matrix(rows, cols): ... f = lambda x, y: (x + y) / math.tan(y) ... out = [[f(i + 1, j + 1) for j in range(cols)] ... for i in range(rows)] ... return out ... >>> mtx = create_matrix(6, 6) >>> mtx [[1.2841852318686613, -1.3729726630808574, -28.061010205738135, 4.318455772253084, -1.774877493196473, -24.054471029260895], [1.926277847802992, -1.830630217441143, -35.07626275717267, 5.1821469267037, -2.070690408729219, -27.490824033441022], [2.5683704637373226, -2.288287771801429, -42.0915153086072, 6.045838081154317, -2.366503324261964, -30.927177037621153], [3.2104630796716536, -2.745945326161715, -49.106767860041735, 6.909529235604934, -2.6623162397947095, -34.363530041801276], [3.852555695605984, -3.2036028805220007, -56.12202041147627, 7.77322039005555, -2.9581291553274554, -37.79988304598141], [4.494648311540315, -3.661260434882286, -63.1372729629108, 8.636911544506168, -3.2539420708602007, -41.23623605016154]] >>>
Офлайн
0
py.user.next
Офлайн
568
Лямбда - это короткая безымянная функция, типа как колбэк в джаваскрипте
$.each(collection, function(i, e){ log(i, e) })
Офлайн