Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでユーザーから行列(マトリックス)の入力を受け取る方法

このチュートリアルでは、Pythonを使ってユーザーから行列(マトリックス)の入力を受け取る方法を解説します。行列の入力を受け取る方法は大きく分けて2つあります。それぞれのコード例と実行結果を見ながら、違いを理解していきましょう。

方法1:要素を一つずつ入力する

1つ目の方法は、行列の各数値をユーザーから一つずつ受け取るやり方です。ネストしたforループを使って、行と列を順番に処理していきます。以下のコードをご覧ください。

コード例

# 空の行列を初期化
matrix = []
# ユーザーから2x2の行列を受け取る
for i in range(2):
    # 空の行を作成
    row = []
    for j in range(2):
        # ユーザーに数値の入力を求める
        # デフォルトでは文字列として読み込まれるため int に変換
        element = int(input())
        # 要素を行(row)に追加
        row.append(element)
    # 行を行列(matrix)に追加
    matrix.append(row)
# 行列を表示
print(matrix)

実行結果

上記のコードを実行すると、次のような出力が得られます。数値を1行に1つずつ入力していく点に注意してください。

1
2
3
4
[[1, 2], [3, 4]]

方法2:スペース区切りで行ごとに入力する

2つ目の方法は、1行分の数値をスペース区切りでまとめて入力してもらうやり方です。input().split() で入力を分割し、map 関数と int 関数を組み合わせて各要素を整数に変換します。こちらの方が入力の手間が少なく、実用的な場面でもよく使われます。

コード例

# 空の行列を初期化
matrix = []
# ユーザーから2x2の行列を受け取る
for i in range(2):
    # ユーザーから1行分の入力を受け取り、リストに変換
    row = list(map(int, input().split()))
    # 行を行列(matrix)に追加
    matrix.append(row)
# 行列を表示
print(matrix)

実行結果

上記のコードを実行すると、次のような出力が得られます。各行の数値はスペースで区切って入力します。

1 2
3 4
[[1, 2], [3, 4]]

まとめ

このように、Pythonでは「要素を一つずつ入力する方法」と「行単位でスペース区切りで入力する方法」の2通りで行列を受け取ることができます。用途や入力形式に応じて使い分けるとよいでしょう。チュートリアルについて質問がある場合は、コメント欄でお気軽にお尋ねください。

  1. JavaScriptでユーザーが入力したHTMLの値を取得・解析して表示する方法

    HTMLの入力フィールドから取得できる値は、常に文字列(string)として扱われます。そのため、取得した値を数値として計算などに利用したい場合は、parseInt()を使って文字列を整数に変換する必要があります。さらに、入力された値が数値として有効かどうかをisNaN()で判定することで、不正な入力へのエラー処理も行えます。実装例以下は、テキストボックスに入力された値を取得し、整数として解析してコンソールに表示するサンプルコードです。<!DOCTYPE html> <html lang="ja"> <head>    

  2. Python Tkinterでチェックボックスの入力値を取得する方法

    チェックボックスウィジェットは、「オン(True)」と「オフ(False)」の2つの状態を持つ入力ウィジェットです。設定の有効・無効の切り替えや、利用規約への同意確認など、特定の値を検証したい場面で幅広く活用されています。ここでは、チェックボックスが選択されたときに、その選択状態(入力値)を取得して出力する方法を紹介します。Tkinterでチェックボックスの値を取得するには、get()メソッドを使用します。このメソッドは、チェックボックスに関連付けられた変数の現在の値を返します。サンプルコード# Tkinterライブラリをインポート from tkinter import * # tkint