作成したい関数が
入力値:なし
出力値:3x3の行列
だとしたら、
- 入力パラメータ
A
は不要(入力値をとらないので)
- 3x3の行列に変換したいのであれば、
numpy.reshape()
のパラメータ3.3
ではなく(3, 3)
- 全角スペースを使用しない
- インデントを整える
return
文を書く(作成したA
を出力として返す)
で問題なく動作すると思います。
Python
1import numpy as np
2
3def tasks(A):
4 A = np.array([1,2,3,4,5,6,7,8,9])
5 A = A.reshape((3,3))
6 return A
この文自体も合っているのか分かりません。
実際に関数を呼んで、戻り値を表示してみてることで動作を確認してください。
Python
1import numpy as np
2
3def tasks():
4 A = np.array([1,2,3,4,5,6,7,8,9])
5 A = A.reshape(3.3)
6 return A
7
8result = tasks()
9print(result)
10#[[1 2 3]
11# [4 5 6]
12# [7 8 9]]
【追記】
nxn を作る関数に改造する方法
- 入力値として
n
を受け取るように変更
np.array([1,2,3,4,5,6,7,8,9])
の箇所を 1~(n*n)
の配列を作成するように変更(np.arange()
を使用する)
で良いかと思います。あとは呼び出し元にて引数付きで関数を呼ぶと動作確認できます。
Python
1import numpy as np
2
3def tasks(n):
4 A = np.arange(1, n*n+1)
5 A = A.reshape((n,n))
6 return A
7
8result = tasks(4)
9print(result)
10#[[ 1 2 3 4]
11# [ 5 6 7 8]
12# [ 9 10 11 12]
13# [13 14 15 16]]
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/18 06:08
2020/05/18 06:34
2020/05/21 09:03