input — Ввод прямоугольной матрицы без заведомо известной размерности в Python

Вопрос задан

Изменён 5 месяцев назад

Просмотрен 8k раз

Задание: Напишите программу, на вход которой подаётся прямоугольная матрица в виде последовательности строк, заканчивающихся строкой, содержащей только строку «end» (без кавычек) Программа должна вывести матрицу того же размера, у которой каждый элемент в позиции i, j равен сумме элементов первой матрицы на позициях (i-1, j), (i+1, j), (i, j-1), (i, j+1). У крайних символов соседний элемент находится с противоположной стороны матрицы.

С алгоритмом суммы элементов я планирую справиться самостоятельно, но мне не хватает знаний языка чтобы реализовать сам ввод данных максимально лаконично и без лишних костылей

Пример ввода:

9 5 3

0 7 -1

-5 2 9

end

Пример вывода:

3 21 22

10 6 19

20 16 -1

  • python
  • input
  • матрицы
  • списки

Если без обработки ошибок:

mat = []
while True:
    s = input()
    if s == "end":
        break
    row = [int(x) for x in s. split()]
    mat.append(row)
print(mat)
1 2 3
4 5 6
end
>>[[1, 2, 3], [4, 5, 6]]

Дописал первый ответ, продолжение считает сумму всех соседей по вертикали и горизонтали.

    mat = []
    while True:
        s = input()
        if s == "end":
            break
        row = [int(x) for x in s.split()]
        mat.append(row)
    for i in range(len(mat)):
        for j in range(len(mat[i])):
            x = mat[i-1][j] + mat[i-len(mat)+1][j] + mat[i][j-1] + mat[i][j-len(mat[i])+1]
            print(x, end=' ')
        print()

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Python

Главная → Программирование → Python

Условия в Python

Условия в Phyton в питон. Синтаксис языка Python

Установка Python

Установка языка программирования Python 3 с математическими библиотеками и среды разработки Spyder 

Простейшая программа на Python

Простейшая программа на Python питон. Вывод информации на экран в Python 

Ввод информации с клавиатуры в Python.

Ввод информации с клавиатуры в Python.

Массивы в python

Массивы в python

Цикл for в python

Цикл for в python

Цикл while в python

Цикл while в python

Случайные числа в python

Случайные числа в python питон

Матрицы в pyhton

Матрицы в pyhton,задание матрицы в python, ввод матрицы и поиск максимального элемента матрицы в Python

Процедуры и функции в python

Процедуры и функции в python. Определение функций и процедур в python

Графика в Python

Работа с графикой в Python. Графические объекты в питон точка,окружность,линия,прямоугольник ,текст

Работа с модулями в Питон

Установка, импортирование и использование модулей в python питон

Графика turtle черепашка в питон

Графика черепашка в питон python. Как рисовать графические фигуры с помощью модуля turtle

Работа с файлами в питон

Работа с файлами в питон. Считывание и запись информации в файлы в питон python 

Графики функций и поверхностей в Python Питон Matplotlib

Построение графиков функций и уравнений поверхности в Python Питон.

Библиотека NumPy в Python матрицы в питон

NumPy в Python Питон. Действия с матрицами в Python Питон.

классы в Питон

Создание классов в питон python. Свойства и методы классов в питон. Создание объектов классов в питон и вызов методов объектов классов в программе python

Графический пользовательский интерфейс в питон

Графический пользовательский интерфейс в питон python. Создание графического пользовательского интерфейса в python. Виджеты метка, текстовое поле, кнопка

Примеры графика в python

Примеры графика в python черепашка turtle 

Словари в питон

Словари в питон. Пример в Python

Страницы: 1 2 Следующая Последняя

Как получить ввод матрицы от пользователя в Python

следующий → ← предыдущая

В этом руководстве мы обсудим способы получения ввода матрицы от пользователя в Python. Информация от клиента может быть получена двумя способами. Давайте посмотрим на два из них.

Матрица

Термин «матрица» относится к прямоугольному распределению данных и, возможно, чисел. Другими словами, это прямоугольный/квадратный массив данных или чисел. В матрице горизонтальные элементы называются «строками», а вертикальные элементы — «столбцами». Порядок матрицы определяется как «r x c», если она имеет «r» строк и «c» столбцов. Каждая запись в матрице может быть целым числом, значением с плавающей запятой или даже комплексным числом.

Пример:

// матрица 5 х 6 ([1, 7, 3, 6, 1, 3], М = [4, 4, 7, 7, 3, 1], [6, 3, 8, 8, 5, 2], [4, 3, 2, 7, 6, 7], [3, 5, 7, 3, 5, 7]) // Матрица 3 x 4 в Python, в которой элементы матрицы имеют тип данных float В = ([2,0, 4,5, 3,4, 7,7], [9. 4, 2.7, 2.2, 8.6],

Мы можем принимать матрицу пользовательского ввода в Python различными способами. Ниже приведены некоторые из методов матрицы пользовательского ввода Python:

Метод — 1

Мы можем использовать «цикл for» внутри цикла for, чтобы упорядочить строки и столбцы матрицы размера, заданного пользователем.

Ввод

# Пример кода для ввода матрицы пользователем Rows = int(input(«Укажите количество строк:»)) Столбцы = int(input(«Укажите количество столбцов:»)) # Инициализация матрицы пример_матрица = [] print(«Пожалуйста, указывайте записи построчно:») # Для пользовательского ввода for _ in range(Rows): # Этот цикл for упорядочивает строки р = [] for __ in range(Columns): # Этот цикл for упорядочивает столбцы r.append (int (ввод ())) example_matrix.append(r) # Печать матрицы, заданной пользователем для _ в диапазоне (строки): для __ в диапазоне (столбцы): печать (пример_матрицы [_] [__], конец = » «) Распечатать()

Вывод:

Укажите количество строк: 2
Укажите количество столбцов: 3
Пожалуйста, давайте записи по строкам:
3
5
2
7
4
6
3 5 2
7 4 6
 

Чтобы написать два цикла for в строке:

Ввод

# однострочный код для получения записей из строк и столбцов Rows = int(input(«Укажите количество строк:»)) Столбцы = int(input(«Укажите количество столбцов:»)) matrixx = [[int(input()) для c в диапазоне (столбцы)] для r в диапазоне (строки)] печать (матрицаx)

Вывод:

Укажите количество строк: 2
Укажите количество столбцов: 3
4
2
6
3
6
3
[[4, 2, 6], [3, 6, 3]]
 

Метод — 2

Используются Numpy и функция map().

NumPy, известный пакет Python, является одним из наиболее широко используемых. Эта библиотека необходима для любого научного вычислительного проекта. Это также полезно для многомерных массивов, а поскольку матрица действительно является прямоугольным массивом, мы будем использовать ее для пользовательского ввода.

Ввод

# Пример кода для ввода матрицы пользователем импортировать numpy как np Rows = int(input(«Укажите количество строк:»)) Столбцы = int(input(«Укажите количество столбцов:»)) print(«Пожалуйста, запишите элементы матрицы в одну строку и разделите их пробелом: «) # Пользователь будет вводить записи в одну строку элементы = список (карта (int, input (). Разделить ())) # Печать матрицы, заданной пользователем matrixx = np.array(элементы).reshape(строки, столбцы) печать (матрицаx)

Вывод:

Укажите количество строк: 2
Укажите количество столбцов: 3
Пожалуйста, запишите элементы матрицы в одну строку через пробел:
3 4 5 3 7 5
[[3 4 5]
 [3 7 5]]
 

Метод — 3

Использование значений, разделенных пробелами, по одной строке за раз. А затем с помощью функций map() и int преобразовать каждую из них. Посмотрите на код.

Ввод

# Пример кода для ввода матрицы пользователем Rows = int(input(«Укажите количество строк:»)) Столбцы = int(input(«Укажите количество столбцов:»)) # Инициализация матрицы пример_матрица = [] # получение матрицы RowsxColumns от пользователя для я в диапазоне (строки): # получение ввода для строки от пользователя single_row = список (карта (целое, ввод (). Разделить ())) # добавление ‘single_row’ к ‘example_matrix’ example_matrix.append(одна_строка) # печатаем матрицу, заданную пользователем печать (пример_матрицы)

Вывод:

Укажите количество строк: 2
Укажите количество столбцов: 3
5 3 7
3 5 2
[[5, 3, 7], [3, 5, 2]]
 

Следующая темаСоздание голосового переводчика в реальном времени с использованием Python

← предыдущая следующий →

Программа Python для транспонирования матрицы

Опубликовано в ИНФОРМАТИКА

Vinay Khatri
Последнее обновление: 12 июля 2023 г.

Опубликовать на:

Есть несколько операций, которые мы можем выполнять над матрицами. Транспонирование матрицы является одной из таких операций. В полученной матрице поменялись местами строки и столбцы исходной.

Здесь, в этой статье, мы предоставили программу python для транспонирования матрицы с исходным кодом/ написать программу найти транспонирование матрицы в python.

Матрица и транспонирование

Матрица представляет собой двумерный массив, который формируется с использованием столбцов и строк. Матрицы очень полезны в научных вычислениях. В Python для представления матрицы мы используем список списков . Чтобы транспонировать матрицу, мы меняем значения ее строк на значения столбцов.

  Например,

[
[1,2,3],
[4,5,6]
[7,8,9]
]  

является матрицей, и для ее транспонирования мы меняем значения ее строк со значениями столбцов, т.е.:

  [
[1,4,7]
[2,5,8]
[3,6,9]
]  

Предпосылка
  • Ввод/вывод Python
  • Списки в Python
  • Петля Python
  • Понимание списка Python

Шаги для транспонирования матрицы
  • Попросите пользователя ввести количество строк и столбцов для матрицы.
  • Затем, используя понимание списка и вход() функция, попросите пользователя ввести элементы в матрице.
  • Создайте результирующую матрицу, размеры которой являются обратными размерами матрицы, введенными пользователем. Например, если матрица имеет 2 строки и 3 столбца, то результирующая матрица (транспонированная) должна иметь 3 строки и 2 столбца.
  • Используя вложенный цикл for, мы изменим значения строки на значения столбца, а затем сохраним их в результирующей матрице.

Программа Python для транспонирования матрицы с исходным кодом/Python Transpose

Исходный код

  строки = int(input("Введите количество строк: "))
column = int(input("Введите количество столбцов: "))

print("Введите элементы матрицы:")
matrix= [[int(input()) для i в диапазоне (столбец)] для i в диапазоне (строки)]
print("-------Ваша матрица---------")
для n в матрице:
    печать (н)

# результирующая матрица столбца * измерения строки

результат = [[0 для i в диапазоне (строки)] для j в диапазоне (столбец)]

#транспонировать матрицу
для r в диапазоне (строки):
   
   для c в диапазоне (столбец):
       # здесь мы берем данные строки матрицы и помещаем их в столбец результата
       результат[c][r] = матрица[r][c]

print("Транспонировать матрицу:")
для r в результате:
    печать (г)  

Выход 1:

  Введите количество строк: 3
Введите количество столбцов: 3
Введите элементы матрицы:
1
2
3
4
5
6
7
8
9
-------Ваша матрица---------
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
Матрица транспонирования:
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]  

Выход 2

  Введите Количество строк: 2
Введите количество столбцов: 4
Введите элементы матрицы:
1
2
3
4
5
6
7
8
-------Ваша матрица---------
[1, 2, 3, 4]
[5, 6, 7, 8]
Матрица транспонирования:
[1, 5]
[2, 6]
[3, 7]
[4, 8]  

Заключение

Это была простая программа на Python для создания транспонирования матрицы.