ITP1_6_A - Reversing Numbers与えられた数列を逆順に出力するプログラムです。 ここをクリックして編集します.
Pythonで配列はlist型となります。 あるlistに対して、list[::-1] とするとlistを反転したリストが得られます。 あとは、list.reverse()というリストの内容を反転するメソッドが用意されているのでそちらを使っても良いと思います。 後者の方は元のリスト自体が反転されるのに対して、前者の方は元のリストを反転した新しいリストが生成されます(元のリストはそのまま)。 ITP1_6_B - Finding Missing Cardsトランプはジョーカーを除く52枚のカードについて、n 枚のカードを入力として、足りないカードを出力するプログラムです。 ここをクリックして編集します.
多次元配列を使う意図の問題のようでしたので、このように書いてみました。 あらかじめスートと数字の組み合わせの文字列を作成しておいて、13x4の多次元配列に入れておき、入力されたカードについては0で配列を上書きします。 最後に配列要素の0でないものについて出力しています。 ITP1_6_C - Official Houseここをクリックして編集します.
0詰めの3次元の配列を用意しておいて、入力ごとに対象の部屋の人数を加算していきます。 最後に配列の内容を出力します。 ITP1_6_D - Matrix Vector Multiplicationn×mの行列 Aと、m×1の列ベクトルbを読み込み、Aとbの積を出力するプログラムです。 ここをクリックして編集します.
行列Aの各行(a_row)とベクトルbをzip(a_row,b)して各要素のペアを取り出し、それぞれを乗算してからsum()で和をとっています。 配列の要素毎の演算を行いたい場合にはzip()と内包表記を使うと素直に書けますね。 感想Pythonの配列(list型)ではあらかじめよく使うメソッドが備わっていたり、内包表記や高階関数などを使ってより簡潔にコーディングができるようになっていると思います。 あまりよくわかっていませんが、"関数型"プログラミングのようなことができるようになってるみたいですね。この辺がPythonで勉強したいところです。
0 コメント
あなたのコメントは、承認後に掲載されます。
メッセージを残してください。 |