PROGRAM PYTHON

初心者のためのPython超入門【第20回 じゃんけんゲーム】

 

 

Pythonでじゃんけんゲームを作ろう

今回は前回説明したrandom.choice()関数を使って、じゃんけんゲームを作ります。
じゃんけんはご存じのように「グー」「チョキ」「パー」の三すくみになっています。
ユーザーはグー、チョキ、パーのどれかを画面から入力して、コンピューターはグー、チョキ、パーをランダムに選択するようにします。
このゲームの仕様は、以下のようになります。

仕様

  • ユーザーはグーの時は「a」、チョキの時は「b」、パーの時は「c」を入力する
  • ユーザーがa、b、c以外を入力したらメッセージを表示してスクリプトを終了する
  • コンピューターはランダムにグー、チョキ、パーを選択する
  • ユーザーとコンピューターの出した値を表示する
  • どちらが勝ったかを表示する

 

じゃんけんゲームのスクリプト

上記の仕様からじゃんけんゲームを作ると、以下のようになります。

 実行例
> python game.py
>>> 選択してください
>>> a:グー b:チョキ c:パー
>>> a
++ 自分 => [グー]
++ 相手 => [チョキ]
++ 自分の勝利 ++

 

スクリプト解説

2行目

random.choice()関数を使うので、randomライブラリーをインポートします。

5行目

じゃんけん用の辞書を定義します。

7行目

try文を使って、a、b、c以外を入力した場合の例外処理を行います。

14行目

入力した文字をキーとして、dic辞書から対応する値をplay_act変数に代入します。

15行目

この部分は少し分かりづらいですが、処理の内容を箇条書きにすると、以下のようになります。
・dic辞書のキーをリストに変換する。
・そのリスト [a, b, c] を引数としてrandom.choice()関数を呼び出す
・random.choice()関数によりa、b、cのどれかが選択される
・選択されたキーを元に、対応する値が選択される
・取得した値をcomp_act変数に代入する

なお、この処理は以下のように書くこともできます。
comp_act = random.choice(list(dic.values()))

18~31行目

互いが出した値から勝敗を判定します。

34、35行目

互いが出した値を表示します。

38~43行目

result変数を参照して、結果を表示します。

45行目

14行目でdic辞書を参照する時、a、b、c以外の値を入力するとKeyErrorという例外が発生します。

 

 

-PROGRAM, PYTHON
-