python勉強〜7日目〜
kazumaです。
今回は少し課題でやってるところをメモ代わりに残しておきます。
2次元配列とその他です。
とりあえずコードを載せます。
#MemoCode n = input("n >> ") a = [[0 for j in range(n)] for i in range(n)] for i in range(n): for j in range(n): a[i][j] = input("a[%d][%d] >> " %(i,j)) for i in range(n): for j in range(n): print a[i][j], print "\n"
出力: n >> 2 a[0][0] >> 2 #a[0][0]に2を入力している a[0][1] >> 3 #a[0][1]に3を入力している a[1][0] >> 4 a[1][1] >> 3 2 3 4 3
まず二次元配列どうやろうかなーって。
a = [[0]*n]*n
はじめにこうゆうコードを書いてみましたが、a[0][0]に数値1を入れてみると出力が。
出力: a[0][0] = 1 a[0][1] = 0 a[1][0] = 1 a[1][1] = 0
なぜか、a[1][0]までも1が代入されています。
おかしーなってことで、for文を使って書くことにしました。こうすることでnの値によってn*nの行列が生み出されます。あとはここに数値を代入していくだけ!
ここで初めて気づいたこと。
print a,
aの後ろに,をつけることで改行されずに表示されることを知りました。すごい。
あとC言語でも使った%dも使えることをここに来て知る。
ただ少し違うのは、C言語の場合は
printf("%dです。",a);
でよかったのですが、
pythonでは
print "%dです。" %(a)
と書きます。まぁ大丈夫そうですね!
python楽しいです!(恐怖を知らないだけです。笑)
簡単ですが以上です。