LoginSignup
11
10

More than 5 years have passed since last update.

Pythonでじゃんけんポイっ 初心者向け

Last updated at Posted at 2016-10-23

この記事は、Django Girls Japan Python初級者向け、
「Pythonでじゃんけんゲームを作ろう」の勉強会用資料です。
尚、記載者も初心者のため、何らかの不具合などござましたら申し訳ございません。

記載者環境:Windows 10 python3.5

コマンドラインの開き方

Windows(コマンドプロンプト)

[スタート]メニューから[すべてのプログラム]-[アクセサリ]-[コマンドプロンプト]

もしくは、キーボードのWindowsキー + R でファイル名を指定して実行を開き
名前(O):にcmdと入力し、Enter。
2.JPG

Mac OS X(ターミナル)

[アプリケーション]ー[ユーティリティ]ー[ターミナル]

Python3.5のインストール

Windows

Python3.5ダウンロード
インストール途中の↓の画面ではAdd Python 3.5 to PATHにチェックを入れる方が良いです。
1.png
*インストールするVersionによって、異なる場合がございます。

Mac OS X

・Mac OS X 64-bit/32-bit installer DMG ファイルをダウンロードして下さい。
・ダブルクリックで開いてください。
・Python.mpkg をダブルクリックして、インストーラーを実行してください。

インストールが完了したら、コマンドラインで確認しましょう。
Windows  → python --version
Mac OS X → python3 --version
と入力すると、インストールしたPythonのVersionが表示されます。

***↓の画像はWindowsコマンドラインでの表示見本です。
3.JPG

Pythonの基礎のお話

変数とは

変数それは・・なんでも入る、便利な箱
1.JPG
2.JPG

変数名には
・a~zのアルファペット
・数字
・_ (アンダースコア)
を利用する事が可能です。ただし最初の文字は数字以外、予約語やキーワードと同じ名前は使えません。(予約語、キーワードについての説明はここでは省きます。

Pythonでは変数に特別な宣言をする必要はありません。
(言語によっては、その変数にどんな属性をつけるかなど指定が必要な場合があります。)
a という変数を作ったら↑の画像にもあるように
a = 変数にいれたいもの
と代入すればよいだけです。

リスト

リストは要素としてあらゆるオブジェクトを持つ事ができます。
他の複数のオブジェクトをまとめて管理出来るオブジェクトです。
[ ] でくくり、カンマの区切りの要素の集合体がリストとなります。

例:[“abc”,123,[“aa”,”bb”],(“xy”,”zd”),{1:234,5:678}]

リストには部屋番号がついています。
部屋番号は0からはじまります。

3.JPG

要素を取り出したい時には、部屋番号を指定してあげるだけです。
↑の例のリストを a という変数にいれたとします。
a[0] とすると、0番目の部屋にある ”abc” が取得できます。

ちなみに・・↑の例の2の部屋にあるリストのさらに1の部屋の要素が欲しい時は
a[2][1] とすれば、取得できます。

辞書(ディクショナリ)

辞書はkeyとなる要素とValueとなる要素の組み合わせの集合体です。
リストとは異なり、部屋番号は持っていません。
{ }でくくり、keyとValueは:でつなぎます。
組み合わせごとの区切りは、リストと同じくカンマです。

例:{1:234,5:678,”city”:”tokyo”,”name”:”sandream”}

Valueはリストと同じく、全てのオブジェクトをいれる事ができます。
しかし、keyにはリストや辞書を指定する事はできません。

↑の例の辞書を a という変数にいれたとします。

keyがcityのValueをとりたい場合は  a[“city”] とします。

Valueからkeyを取得する方法もありますが、ちょっとややこしいので
ここでは割愛します。

if文(条件分岐)

1.JPG

↑では、まず aという変数の箱に猫を入れています。
if a == 猫:
とする事で、「もしaの箱(変数)に入っているのが猫だったら」という条件指定を行う事ができます。
この、「もしaの箱(変数)に入っているのが猫だったら」という条件に合致する場合は、if a == 猫: の次の行print("ニャー")を実行します。
(print は表示する命令文です)

ここで大切になるのは、インデントです。
if ~~の次の行はインデントを1つ下げて表記していきます。
このインデントが下がっている間、このifの条件は適用されます。

elif a == 犬:
は、aが猫ではなく犬だった場合という条件になります。

else:
は、else以前に指定した条件すべてに当てはまらない場合を示します。

利用したモジュール

今回のじゃんけんゲームではrandomモジュールを利用しています。
import random 乱数値(ランダムな値)を取得します
*実行するごとに異なる結果がかえってきます。

random.random()
0.0~1.0までのfloat値を取得します。
実行結果例:0.634854063865

random.uniform(x,y)
x~yまでのfloat値を取得します。
実行結果例:random.uniform(1,100) →52.66907920726

random.randint(x,y)
x~yまでのint値を取得します。
実行結果例:random.randint(1,100) →62

random.choice(param)
param内から一つの要素を取得します。
実行結果例:random.choice('abcdefghijklmnopqrstuvwxyz') → f

random.shuffle(array)
array内の要素をシャッフルします。
実行結果例:test_list = ['python', 'django', 'girls', 'japan', 'tokyo']
random.shuffle(test_list)
→['django', 'girls', 'japan', 'python', 'tokyo']

じゃんけんゲーム

じゃんけんゲーム見本

作成したファイルを実行すると、
2.JPG
と入力を促す状態で一旦プログラムが停止します。
ユーザがaかbかcを入力しエンターを押下すると・・・
3.JPG
コンピュータがランダムにじゃんけんの手を選び、じゃんけんの結果が表示されます。
また、万が一、ユーザがaかbかc以外の数字を入力した場合には
7.JPG
と注意されるようになります。

pythonファイルの実行方法

任意の場所にディレクトリ(フォルダ)を1つ作成します。
(今回はjankenというディレクトリを作成しています。)
コマンドラインで作成したディレクトリ内に移動します。

cd janken *cd の後にスペースをあけて、移動したいディレクトリへのPathを入力します。(もし janken ディレクトリの中にtestというディレクトリを作成し、そのtestディレクトリ内に移動したい場合は cd janken/test とします。)

テキストエディタで作成したファイルを作成したディレクトリ(フォルダ)に保存します。
拡張子は .py です。(今回はjankencom2.py としています。)

python jankencom2.py としEnterキーを押下してください。
作成したプログラムが実行されます。

じゃんけんゲーム 穴埋め問題

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import random

dic = """問1:1がグー2がチョキ3がパーとなる辞書をつくってください"""

print ("じゃーんけーん")
print ("a=グー b=チョキ c=パー aかbかcを入力")
user = input('>>>  ')
user = user.lower()

try:
    user_choice = """問2:userが入力した数字からdicを使ってグーかチョキかパーの文字を取得してください"""

    choice_list = ["a","b","c"]
    pc = """問3:import したrandomを使って、PCに数字をチョイスさせて、且つグーかチョキかパーの文字列を取得してください"""

    draw = 'DRAW'
    win = 'You Win!!'
    lose = 'You lose!!'

    """問4:ユーザの手とPCの手を比較して結果を取得してください
    結果はjudgeという変数を作成して上記のdraw win loseのいずれかを
    変数にいれてください。"""

    print("あなた選んだのは %s"%user_choice)
    print("コンピュータが選んだのは %s"%pc)
    print("結果は%s"%judge)
except:
    print("1か2か3を入力してください。")

上記コードの問1から問4をやってみましょう。

回答はこちら

Pythonでじゃんけんポイっ 初心者向け Windows ローカルサーバで動かそう
こちら

11
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10