40代塾講師の「ほぼ独学プログラミング日誌。」13
『プログラミングで切り開く、新しい未来♪』
こんにちは!
塾講師のdainarです。
今週末はまた寒くなるとの予報でしたが、こちら九州の地は暖かいですよ〜♪
皆さんもrandomモジュールにはだいぶ慣れてきたのではないでしょうか?
さて、今回もモジュールをimportして『ジャンケン』ゲームをつくってみましょう!
目次
1. あなたVSコンピューター
2. int と input
3. 試行錯誤
あなたVSコンピューター
まずはアプリケーション→Python3.9→【IDLE】からNewFileの「jyanken.py」をつくります。
さて、今まで”苦楽”を共にしてきた皆さんなら上記のプログラムの意味は分かりますよね?
【import】【リスト】【if / elif / else】【&】の使い方が分からない方は復習をお願いしますね!
今回は「あなた」your_hand と「コンピューター」comp_hand が対戦する『ジャンケン』ゲームを作成したいと思います。
int と input
今回、初めて出てきた命令は【int】と【input】ですね。
your_num = int ( input ( “0〜2から好きな数字を選んでください:” ) )
まずは【int】ですが、これは ( )内の値を整数に変換せよ、という命令です。
【input】で入力された値は文字列として扱われるため【int】で整数(数値)に変換した値がyour_numという変数に入ります。
※文字列の「1」と数値の「1」は別物。
その数値が入った変数をもとにjyankenというリストの中から○番めの値を取ってきてyour_handという変数に代入しているわけです。
(例えば右側の画面のように0〜2から好きな数字を選んでください:に対し「1」を選んだら数値に変換された「1」が your_numへ【your_num = 1 の状態】jyankenリストの your_num に「1」が入り【jyanken[1]】つまり1番目の”チョキ”がyour_handに代入される)
comp_handは0〜2の範囲でランダムに選ばれ、ifの条件文以下によって「勝ち・負け・引き分け」を判断し、表示しているわけです。
実際、私が選んだ数字は「1」「0」「2」
3回目にしてやっと勝つことができました!
試行錯誤
あくまで上記のプログラムは私が今まで学習してきた範囲で、拙い発想で書き上げたものです(初心者に毛も生えてない程度・・・)
中・上級者の方が見たら「なんだ!これは!?」と思われることでしょう。
私自身も、もっと理路整然としたシンプルなプログラムが書きたーい!
そこに『プログラミング』を学習する意味があると思うのです。
今、中学生に「図形の証明」を教えていますが、やはり”必要な情報を抜き出し”+”理路整然と”書かれた証明は美しい・・・
「ああでもない、こうでもない」と試行錯誤する。
もっと簡潔に!こういう機能を付けたら面白いんじゃないか?
例えば・・・あなた− グーを出しました!
comp − パーを出しました!
結果 : あなたの勝ちです♪
これくらいならプログラムできそうじゃないですか?
大いに試行錯誤しながら、楽しみながら、スキルアップしていきましょう♪
では、また次回♪( ´▽`)/
この記事が気に入ったらサポートをしてみませんか?