
本講座のテキストと補助教材をダウンロードしてから、本編解説動画をご覧ください。
各解説動画を見てから、コーディング課題の演習をしてください。
■1-1:パーがないじゃんけんを普通のじゃんけんに:サンプルソースy5YT.py を使用
問題:パーが出せるじゃんけんを作りましょう。
<ヒント>
・入力した「自分の手」はmy_hand に0 or 1 or 2 で入っています
・「相手の手」はランダムでyou_hand に0 or 1 or 2 で入っています
・0=グー、1=チョキ、2=パー
■1-2:ソースコードをシンプルに:v7Pi.py を使用(1-1 の解答)
問題:勝ち、負け、あいこの結果判定に
my_hand の if or elif が3 個、
you_hand の if or elif が9 個あります
工夫をしてif or elif or else を3 個 or 4 個にしましょう。
<ヒント>
・my_hand とyou_hand の差に規則性を見つけましょう
※解説動画の図解はダウンロードできます。
■1-3:関数化をする:a5Qm.py を使用(1-2 の解答)
問題:下記の関数を作って以前と同じように動くようにしましょう。
<作る関数は以下の通り>
・start_message()
引数:なし
戻り値:なし
内容:スタートのメッセージを表示
・get_my_hand()
引数:なし
戻り値:入力された値
内容:入力を促すメッセージの表示と入力
・get_you_hand()
引数:なし
戻り値:相手の手の値
内容:相手の手をランダムで取得
・view_result()
引数:hand_diff
戻り値:なし
内容:hand_diff を判断して勝ち or 負け or あいこを表示する
■1-4:あなたの手と相手の手を表示する:gP6s.py を使用(1-3 の解答)
問題:あなたの手と相手の手のグー、チョキ、パーをそれぞれ表示しましょう。
じゃんけんスタート
あなたの手を入力してください
0:グー, 1:チョキ, 2:パー1
あなたの手は チョキ
相手の手は パー
勝ち
<作る関数は以下の通り>
・get_hand_name()
引数:hand_number
戻り値:グー or チョキ or パー
内容:引数の0 or 1 or 2 に対応したグー or チョキ or パーを返す
・view_hand()
引数:my_hand, you_hand
戻り値:なし
内容:引数2 つを使って「自分の手は グー」「相手の手は パー」のように表示する
<ヒント>
・hands という変数にグー、チョキ、パーのリストを入れる
・hands[0]はグー
■1-5:inputメッセージにリストを使う:dV9E.py(1-4の解答)
問題:前問で作った
hands = ['グー', 'チョキ', 'パー'] を利用して
input('0:グー, 1:チョキ, 2:パー') このメッセージを自動生成しましょう
■1-6:結果表示に辞書を使う:L2rT.py(1-5の解答)
問題:結果表示に
results = {'win':'勝ち', 'lose':'負け', 'draw':'あいこ'} の辞書を使いましょう。
<作る関数は以下の通り>
□get_result()
引数:hand_diff
戻り値:win or lose or draw
内容:引数のhand_diff に対応したwin or lose or draw を返す
<今後の学習について>
1-6が終わりましたら、
再度1-1から1-6までを復習してくだい。
3回目の復習ができたら、最終課題にすすんでみましょう。
■1-7:あいこの場合何度でも繰り返す:Jv5e.py(1-6の解答)
問題:あいこの場合、今までの「あいこ」を表示したあと、入力(get_my_hand())からやり直すようにしてください。勝ちor負けになるまで何度も「入力→結果表示」を繰り返しましょう。
<ヒント>
□このために上で辞書を使いました
□じゃんけんのメイン部分をplay()という関数にしましょう
□play()を実行後、get_result がdraw だったら再度play()を再帰的に実行します
※1-7 の解答はありません。実力で解けたら「修了」です。
問題のとおりのコードが書けなかった場合は、
もう一度1-1から1-6までをやってから再度チャレンジしてみましょう。
突然ですが、プログラミング学習には授業が本当に必要なのでしょうか。なんでしょうか?
現場のエンジニアは、新しい技術を学ぶ際、時、公開されているサンプルソースを仕様変更していくという形で学習します。
なぜなら、プログラミングは書いて覚える方がというのが効率がいいということを彼らは知っているからです。良く学習できるからです。
本講座では、そこで、今回は「とにかく書いてみる」というやり方で、Pythonを学んでいきたいと思います。ます。
「習っていないから書けない」という方もいるでしょう。
でも、しかし、とりあえずなんでもいいから書いてみることはできます。
そして実行するとエラーがでます。
それでいいのです。それこそがヒントとなります。
このようこんな風に書いていくうちに、次第にエラーが消えていき、理解はあとから追いついてきます。
なにはともあれ、プログラミングを実際に書いてみましょう。
本講座では、今回は、プログラミングを理解するのではなく、効率よく学ぶ方法を体感するのがゴールです。
わからなくてもいいんです。とにかく書いてみて悪戦苦闘することがポイントです。
そして、プログラミング初心者の山場である「関数」にも挑戦していきます。
今日やったことを本講座の内容を3回復習すると、あら不思議、関数が書けるようになっています。
それこちらでプログラミング学習の第一関門はクリアです。
では、一緒に学んでいきましょう。