Форум сайта python.su
Приветствую ! Нужна помощь с решением задачи на Python 2.7.
Собственно 4 задачи.
1) Ввести с клавиатуры целочисленную матрицу размера 4х4. Найти суммы ее элементов по столбцам.
2)Ввести произвольную символьную цепочку. Удвоить ее символы на нечетных местах, затем вывести полученную символьную цепочку в обратном порядке.
3)Составить программу, которая вводит с клавиатуры произвольную числовую матрицу A размером 4х4. Построить по ней матрицу B тех же размеров, используя функцию, согласно которой элементы B этой матрицы находятся как суммы элементов матрицы A, схематически изображенных на отрезках, исходящих из элемента A рисунка (Рис1).
4)Выполнить задание предыдущей задачи 2, заменив функцию процедурой и используя модуль, содержащий эту процедуру для вычисления элементов матрицы B. По рисунку 2.
Всем откликнувшимся на помощь заранее огромное спасибо и +++ в карму)
Прикреплённый файлы: Рис1.jpg (4,4 KБ)
Офлайн
Рисунок 2
Прикреплённый файлы: Рис2.jpg (5,4 KБ)
Офлайн
Офлайн
winger2000
1) Ввести с клавиатуры целочисленную матрицу размера 4х4. Найти суммы ее элементов по столбцам.
>>> def matrix_input(n, m): ... out = [] ... for i in range(n): ... out.append([]) ... for j in range(m): ... prompt = 'Строка %d колонка %d: ' % (i + 1, j + 1) ... number = int(raw_input(prompt)) ... out[i].append(number) ... return out ... >>> def matrix_column(matrix, colnum): ... return [row[colnum] for row in matrix] ... >>> def matrix_columns_sums(matrix): ... return [sum(matrix_column(matrix, i)) ... for i in range(len(matrix[0]))] ... >>> def main(): ... matrix = matrix_input(4, 4) ... print(matrix) ... colsums = matrix_columns_sums(matrix) ... print(colsums) ... >>> main() Строка 1 колонка 1: 1 Строка 1 колонка 2: 2 Строка 1 колонка 3: 3 Строка 1 колонка 4: 4 Строка 2 колонка 1: 10 Строка 2 колонка 2: 20 Строка 2 колонка 3: 30 Строка 2 колонка 4: 40 Строка 3 колонка 1: 100 Строка 3 колонка 2: 200 Строка 3 колонка 3: 300 Строка 3 колонка 4: 400 Строка 4 колонка 1: 1000 Строка 4 колонка 2: 2000 Строка 4 колонка 3: 3000 Строка 4 колонка 4: 4000 [[1, 2, 3, 4], [10, 20, 30, 40], [100, 200, 300, 400], [1000, 2000, 3000, 4000]] [1111, 2222, 3333, 4444] >>>
Отредактировано py.user.next (Май 8, 2017 01:02:53)
Офлайн
py.user.nextОгромное спасибо)))
Офлайн
py.user.nextМожете еще помочь , надо что бы результаты решения выводились во внешний файл.
Офлайн
winger2000
надо что бы результаты решения выводились во внешний файл.
>>> def matrix_input(n, m): ... out = [] ... for i in range(n): ... out.append([]) ... for j in range(m): ... prompt = 'Строка %d колонка %d: ' % (i + 1, j + 1) ... number = int(raw_input(prompt)) ... out[i].append(number) ... return out ... >>> def matrix_column(matrix, colnum): ... return [row[colnum] for row in matrix] ... >>> def matrix_columns_sums(matrix): ... return [sum(matrix_column(matrix, i)) ... for i in range(len(matrix[0]))] ... >>> def matrix_output(matrix, ofname): ... with open(ofname, 'w') as fout: ... for row in matrix: ... print >>fout, ' '.join(map(str, row)) ... >>> def main(): ... matrix = matrix_input(4, 4) ... print(matrix) ... colsums = matrix_columns_sums(matrix) ... print(colsums) ... matrix_output([colsums], 'result.txt') ... >>> main() Строка 1 колонка 1: 1 Строка 1 колонка 2: 2 Строка 1 колонка 3: 3 Строка 1 колонка 4: 4 Строка 2 колонка 1: 10 Строка 2 колонка 2: 20 Строка 2 колонка 3: 30 Строка 2 колонка 4: 40 Строка 3 колонка 1: 100 Строка 3 колонка 2: 200 Строка 3 колонка 3: 300 Строка 3 колонка 4: 400 Строка 4 колонка 1: 1000 Строка 4 колонка 2: 2000 Строка 4 колонка 3: 3000 Строка 4 колонка 4: 4000 [[1, 2, 3, 4], [10, 20, 30, 40], [100, 200, 300, 400], [1000, 2000, 3000, 4000]] [1111, 2222, 3333, 4444] >>>
1111 2222 3333 4444
Отредактировано py.user.next (Май 10, 2017 23:29:48)
Офлайн
py.user.nextСпасибо)
Офлайн