GUI(テキストボックス)で行列の要素の値を入力し2次元配列型のデータを取得するソースです。行列は、変数により任意のサイズに変更可能。
qiita.rb
fromtkinterimport*fromtkinterimportttkimportnumpyasnp#入力用のGUIdefGUI_Input(n,m):root=Tk()root.title('Table Input')#入力用フレームframe=ttk.Frame(root)frame.grid(row=0,column=0)list_Items=[0]*(n*m)N=nM=mk=0foriinrange(0,n):forjinrange(0,m):list_Items[k]=ttk.Entry(frame,width=2)list_Items[k].grid(row=i+1,column=j+1)k+=1#コンボボックスからデータを取得し2次元配列としてprint出力defButtonClicked_Run():B=[0]*(N*M)foriinrange(N*M):B[i]=list_Items[i].get()A=np.reshape(B,(N,M))print(A)#実行ボタンの設置button_Run=ttk.Button(root,text='実行',padding=5,command=ButtonClicked_Run)button_Run.grid(row=1,column=0)root.mainloop()#n,mの数を変えて、表の行数を変えるm=9n=9GUI_Input(m,n)