Numpy - Knihovna pro programovací jazyk Python navržená pro práci s vícerozměrnými poli a maticemi. Jedna z hlavních možností Numpy je pohodlný a efektivní způsob zadávání matice z klávesnice. To je užitečné zejména při práci s velkým množstvím dat nebo když je nutné použít vlastní hodnoty.
V tomto článku se podíváme na několik příkladů kódu, které ilustrují proces zadávání matice z klávesnice pomocí Numpy. Budeme také podrobně vysvětlovat každý řádek kódu, abyste proces snadno pochopili.
Než začneme, ujistěte se, že máte nainstalovanou knihovnu Numpy. Můžete jej nainstalovat pomocí správce balíčků pip. Stačí spustit následující příkaz v příkazovém řádku:
pip install numpy
Vstup matice z klávesnice pomocí NumPy
Funkce numpy.array() umožňuje vytvářet pole a matice. Tato funkce přitom může přijímat různé argumenty, včetně prvků, velikostí a typu dat. Umožňuje zadávat data ze souboru i klávesnice.
Níže je uveden příklad kódu, který demonstruje vstup matice z klávesnice pomocí NumPy:
import numpy as np# Ввод размеров матрицыn = int(input("Введите количество строк: "))m = int(input("Введите количество столбцов: "))# Создание пустой матрицыmatrix = np.empty((n, m))# Ввод элементов матрицыprint("Введите элементы матрицы:")for i in range(n):for j in range(m):matrix[i, j] = float(input(f"Введите элемент [, ]: "))# Вывод матрицыprint("Матрица:")print(matrix)
V tomto příkladu nejprve zadáme rozměry matice: počet řádků a sloupců. Poté vytvoříme prázdnou matici pomocí funkce numpy.empty(), a vyplníme jej prvky zadanými z klávesnice ve smyčce. K tomu používáme vnořené cykly for pro průchod všemi prvky matice.
K zadání prvku matice používáme funkci input(), která požaduje, aby uživatel zadal hodnotu položky. Poté použijeme funkci float() Chcete-li převést zadanou hodnotu na číslo s plovoucí desetinnou čárkou.
Po zadání všech prvků matice jej zobrazíme na obrazovce pomocí funkce print(). V důsledku provedení tohoto kódu bude odvozena matice zadaná z klávesnice.
S NumPy tedy můžeme pohodlně a rychle zadávat matice z klávesnice, což výrazně usnadňuje práci s poli a maticemi ve vědeckých výpočtech.
Příklady vstupu a vysvětlení procesu
Vstup matice z klávesnice pomocí knihovny numpy je velmi pohodlný a efektivní. Níže jsou uvedeny příklady různých způsobů zadání a vysvětlení každého z nich:
-
Vstup matice po částech: Pro zadání matice použijeme funkci numpy.array () v kombinaci s cykly. V každé iteraci cyklu bude vytvořen jeden prvek matice, který se zapíše do příslušné buňky pole.
import numpy as np# Ввод размерности матрицыnum_rows = int(input("Введите количество строк: "))num_cols = int(input("Введите количество столбцов: "))# Создание пустого массива заданной размерностиarr = np.zeros((num_rows, num_cols))# Цикл для ввода матрицы поэлементноfor i in range(num_rows):for j in range(num_cols):arr[i][j] = float(input(f"Введите элемент [, ]: "))
import numpy as np# Ввод одномерного массиваarr = np.array(input("Введите одномерный массив: ").split(), dtype=int)# Ввод размерности матрицыnum_rows = int(input("Введите количество строк: "))num_cols = int(input("Введите количество столбцов: "))# Изменение формы массиваmatrix = np.reshape(arr, (num_rows, num_cols))
import numpy as np# Ввод матрицы в виде строкиmatrix_string = input("Введите матрицу в виде строки: ")# Удаление пробелов и запятых из строкиmatrix_string = matrix_string.replace(" ", "").replace(",", "")# Ввод размерности матрицыnum_rows = int(input("Введите количество строк: "))num_cols = int(input("Введите количество столбцов: "))# Создание двумерного массива из строкиmatrix = np.fromstring(matrix_string, dtype=int, sep="").reshape((num_rows, num_cols))
To je jen několik příkladů, jak lze zadat matice pomocí knihovny numpy. Konečný výběr metody závisí na preferencích a potřebách uživatele.
Možnosti vstupu matice
V knihovně NumPy existuje několik způsobů, jak psát matici z klávesnice. Zvažte nejběžnější možnosti:
1. Vstup matice pomocí funkce numpy.array
Funkce numpy.array umožňuje vytvořit pole zadané z klávesnice. Chcete-li to provést, musíte předat seznam seznamů, kde každý seznam představuje řádek matice:
import numpy as nprow_1 = list(map(int, input().split()))row_2 = list(map(int, input().split()))row_3 = list(map(int, input().split()))matrix = np.array([row_1, row_2, row_3])print(matrix)
Tento program umožňuje zadat matici o velikosti 3x3. Každý řádek matice je čten samostatně pomocí funkce input, poté se použije funkce split Chcete-li rozdělit řádek na jednotlivé položky a poté funkci map pro převod každého prvku na celé číslo. Výsledkem je seznam, který se přenáší do funkce numpy.array vytváří matici.
2. Vstup matice pomocí vestavěné funkce numpy.reshape
Funkce numpy.reshape umožňuje změnit tvar stávajícího pole. Pro zadání matice z klávesnice lze tuto funkci využít následovně::
import numpy as npelements = list(map(int, input().split()))matrix = np.array(elements).reshape(3, 3)print(matrix)
Tento program nejprve přečte vstupní řádek pomocí funkce input. Poté se použije funkce split rozdělení řádku na jednotlivé prvky a funkce map převádí každý prvek na celé číslo. Výsledek se přenáší do funkce numpy.array vytvoří jednorozměrné pole, které se poté změní pomocí funkce reshape do požadovaného tvaru-3x3.
3. Vstup matice pomocí cyklů a seznamů
Matici lze také zadat z klávesnice pomocí cyklů a seznamů:
import numpy as npmatrix = []for i in range(3):row = list(map(int, input().split()))matrix.append(row)matrix = np.array(matrix)print(matrix)
V tomto programu pomocí cyklu for každý řádek matice je zadán. Funkce input čte řádek, který je poté rozdělen do jednotlivých prvků funkcí split. Každý prvek je pomocí funkce převeden na celé číslo map. Výsledný seznam je přidán do seznamu matrix. Na konci program vytvoří matici pomocí funkce numpy.array.
V knihovně NumPy tedy existuje několik způsobů, jak zadat matici z klávesnice, z nichž každý lze vybrat podle konkrétního úkolu.