下記のコードは、以下で説明するように非常に特殊なケースで正しく動作します。私はそれを一般化したい。私は配列のサブ配列を出力しようとしています。配列のサブ配列を出力する
import numpy as np
alpha = input("input this number... ")
X = np.arange(alpha**2).reshape(alpha,alpha) #square matrix
beta = input("a number in the matrix X")
if(beta > alpha**2):
print("must pick number inside array"), exit()
print(X) #correct square matrix
00 01 02 03 04
05 06 07 08 09
10 11 12 13 14
15 16 17 18 19
20 21 22 23 24
私は(ETC、3x3の正方形または5×5の正方行列とは無関係)であるアルファを選択するものとは独立して、この行列Xの3×3サブアレイを印刷します。以下に示すように。
@Integralsエッジは何ですか? 'i == 0またはj == 0またはi ==(alpha-1)またはj ==(alpha-1)'です。 – jfs
@Integralsとても基本的です。答えのコードは(i、j)インデックスを取得する方法を示しています。私の前のコメントの明示的な条件は、「ベータ」が端にあるかどうかを調べる方法を示しています(指標を調べることによって:i、j)。あなたが私のコメントを理解していない場合。入力値 'beta'が平方numpy配列の端にあることを検出する方法について別の質問をしてください。 – jfs
@Integrals私のコメントは、そのまま動作する条件の間で 'または'を使用します:カンマで置き換えてはいけません。あなたはPythonで本(すべての本)を読むべきです。簡単な問題に悩まされないようにする時間を節約します。 [Pythonタグの説明にフリーの書籍のリスト]があります(http://stackoverflow.com/tags/python/info) – jfs