Операции с матрицами: Перестановка строк

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь выполнять операции с матрицами, конкретно, менять местами строки в матрице 5x5. Этот проект предназначен для того, чтобы помочь вам понять базовые операции с матрицами и улучшить свои навыки программирования.

👀 Предварительный просмотр

$ python3 matrix.py
1 2 3 4 5
21 22 23 24 25
11 12 13 14 15
16 17 18 19 20
6 7 8 9 10

🎯 Задачи

В этом проекте вы научитесь:

  • Как менять местами элементы двух строк в матрице
  • Как выводить матрицу с выравниванием чисел по левому краю и занимающими 5 позиций

🏆 Достижения

После завершения этого проекта вы сможете:

  • Разобраться, как манипулировать матрицами в Python
  • Реализовать перестановку строк в матрице
  • Форматировать вывод матрицы, чтобы соответствовать конкретным требованиям
  • Применить свои навыки решения задач, чтобы выполнить практическое программирование задание

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python/ControlFlowGroup -.-> python/for_loops("For Loops") python/DataStructuresGroup -.-> python/lists("Lists") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FileHandlingGroup -.-> python/file_operations("File Operations") subgraph Lab Skills python/for_loops -.-> lab-302745{{"Операции с матрицами: Перестановка строк"}} python/lists -.-> lab-302745{{"Операции с матрицами: Перестановка строк"}} python/function_definition -.-> lab-302745{{"Операции с матрицами: Перестановка строк"}} python/file_operations -.-> lab-302745{{"Операции с матрицами: Перестановка строк"}} end

Меняем местами строки в матрице

В этом шаге вы научитесь менять местами элементы второй и пятой строк матрицы a.

  1. Откройте файл matrix.py в вашем редакторе кода.

  2. Найдите функцию swap_rows в файле. Эта функция отвечает за перестановку строк в матрице.

  3. Функция swap_rows принимает три аргумента:

    • matrix: 5x5 матрица, представленная в виде списка списков.
    • row1: индекс первой строки, которую нужно поменять местами.
    • row2: индекс второй строки, которую нужно поменять местами.
  4. Внутри функции swap_rows вам нужно реализовать логику для перестановки строк. Вы можете сделать это, используя оператор присваивания с распаковкой кортежа:

    matrix[row1], matrix[row2] = matrix[row2], matrix[row1]

    Эта строка кода поменяет значения двух строк в списке matrix.

  5. После перестановки строк вам нужно вывести матрицу. Вы можете сделать это, используя цикл for для перебора строк и вывода каждой строки с выравниванием чисел по левому краю и занимающими 5 позиций:

    for row in matrix:
        print(" ".join(f"{num:<5}" for num in row))

    Это выведет каждую строку с выравниванием чисел по левому краю и занимающими 5 позиций.

  6. Сохраните файл matrix.py.

Тестируем операции с матрицей

  1. Откройте терминал или командную строку и перейдите в директорию, содержащую файл matrix.py.

  2. Запустите следующую команду для выполнения файла matrix.py:

    python3 matrix.py
  3. Вывод должен быть таким:

    1     2     3     4     5
    21    22    23    24    25
    11    12    13    14    15
    16    17    18    19    20
    6     7     8     9     10

    Этот вывод показывает, что вторая строка (6, 7, 8, 9, 10) и пятая строка (21, 22, 23, 24, 25) были успешно поменяны местами.

Поздравляем! Вы завершили проект по операциям с матрицами. Вы научились менять местами строки в 5x5 матрице и выводить матрицу с выравниванием чисел по левому краю и занимающими 5 позиций.

✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.