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 |
Случайные числа в python Случайные числа в python питон |
Матрицы в pyhton Матрицы в pyhton,задание матрицы в python, ввод матрицы и поиск максимального элемента матрицы в Python |
Процедуры и функции в python Процедуры и функции в python. Определение функций и процедур в python |
Графика в Python Работа с графикой в Python. Графические объекты в питон точка,окружность,линия,прямоугольник ,текст |
Работа с модулями в Питон Установка, импортирование и использование модулей в 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, мы изменим значения строки на значения столбца, а затем сохраним их в результирующей матрице.
Исходный код
строки = 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 для создания транспонирования матрицы.