Python基礎文法だけでじゃんけんプログラムを作ってみました【大学生向け】

プログラミング
スポンサーリンク

スポンサーリンク

はじめに

今回はPythonの基礎文法で簡単にお絵かきする方法についての記事です。

Pythonは人工知能、機械学習、ディープラーニング、データ解析などに特化しており、2020年プログラミング言語人気ランキング1位になっています。

Pythonについて詳しく知りたい方はこちらのウェブサイトをどうぞ。

じゃんけんプログラムを理解するための予備知識

今回作成するじゃんけんプログラムについて必要な知識は

・if文

・関数

・(import文や乱数発生)

丸括弧の部分は難しそうかもしれませんが簡単なのであまり気にしなくて大丈夫です。

if文と関数について怪しい方はこちらの記事も読んでみてください。

じゃんけんプログラム

まだいきなりたくさんのコードが出てきてわからないと思いますが最初に全体のプログラムを載せますね。

import random

def jyanken(a,b):
    if a == b:
        print('あいこです')
    elif a == 1 and b == 2:
        print('相手はチョキを出しました。あなたの勝ちです')
    elif a == 1 and b == 3:
        print('相手はパーを出しました。あなたの負けです')
    elif a == 2 and b == 1:
        print('相手はグーを出しました。あなたの負けです。')
    elif a == 2 and b == 3:
        print('相手はパーを出しました。あなたの勝ちです。')
    elif a == 3 and b == 1:
        print('相手はグーを出しました。あなたの勝ちです。')
    elif a == 3 and b == 2:
        print('相手はチョキを出しました。あなたの負けです。')
    else:
        print('1~3の数字を入力してください。')

a = int(input('(グー:1,チョキ:2,パー:3)あなたが出す手は?:'))
b = random.randint(1, 3)
#相手の出す手をランダムに発生
jyanken(a,b)

それではじゃんけんプログラムを一つずつ解説していきます。

じゃんけんプログラムの流れ

まずはじゃんけんプログラムの流れについてです。

①自分の出す手を入力する

②相手の出す手がランダムに決められる

③自分の手と相手の手を比べて結果を返す

という流れとなっています。

スポンサーリンク

自分の出す手を入力する方法

まずは自分の出す手を入力する方法についてです。

ポイントとしては1をグー、2をチョキ、3をパーに対応させているということです。

出す手を数値に対応させていることを記述してあげてわかるようにしてあげましょう。

a = int(input('(グー:1,チョキ:2,パー:3)あなたが出す手は?:'))

少し複雑かもしれませんがこちらのコードを実行してあげることでターミナル上で

(グー:1,チョキ:2,パー:3)あなたが出す手は?:

と表示されます。

その後入力した数字が変数aに格納されます。

じゃあint()は何?っていうと

intで括ってあげるとコンソールで数値として扱われる「1」と文字として扱われる「1」をどちらも数値として扱ってあげることができます。

相手の出す手をランダムに決める方法

次に相手の出す手をランダムに発生させる方法についてです。

import random
・・・
b = random.randint(1,3)

import randomで1~3の整数をランダムに発生させるrandom.randintが使えるようになります。

random.randintの使い方としてはrandint(a,b)でa~bの間の整数をランダムに発生させることができます。

上記のコードで1〜3の整数をランダムに発生させることができます。

自分の手と相手の手を比べて結果を返す方法

最後に自分の手と相手の手を比べて結果を返すjyanken関数を作ってあげましょう。

def jyanken(a,b):
    if a == b:
        print('あいこです')
    elif a == 1 and b == 2:
        print('相手はチョキを出しました。あなたの勝ちです')
    elif a == 1 and b == 3:
        print('相手はパーを出しました。あなたの負けです')
    elif a == 2 and b == 1:
        print('相手はグーを出しました。あなたの負けです。')
    elif a == 2 and b == 3:
        print('相手はパーを出しました。あなたの勝ちです。')
    elif a == 3 and b == 1:
        print('相手はグーを出しました。あなたの勝ちです。')
    elif a == 3 and b == 2:
        print('相手はチョキを出しました。あなたの負けです。')
    else:
        print('1~3の数字を入力してください。')

関数とif文が理解できている人なら難しいところはないと思います。

最後にelseとしてaの変数の値に1~3の数が入っていなかった場合についてもやり直しとして処理をしています。

そして最後にjyanken関数を呼び出してあげればじゃんけんをすることができます。

jyanken(a,b)

ではもう一度完成のプログラムを載せておきます。

import random

def jyanken(a,b):
    if a == b:
        print('あいこです')
    elif a == 1 and b == 2:
        print('相手はチョキを出しました。あなたの勝ちです')
    elif a == 1 and b == 3:
        print('相手はパーを出しました。あなたの負けです')
    elif a == 2 and b == 1:
        print('相手はグーを出しました。あなたの負けです。')
    elif a == 2 and b == 3:
        print('相手はパーを出しました。あなたの勝ちです。')
    elif a == 3 and b == 1:
        print('相手はグーを出しました。あなたの勝ちです。')
    elif a == 3 and b == 2:
        print('相手はチョキを出しました。あなたの負けです。')
    else:
        print('1~3の数字を入力してください。')

a = int(input('(グー:1,チョキ:2,パー:3)あなたが出す手は?:'))
b = random.randint(1, 3)
#相手の出す手をランダムに発生
jyanken(a,b)

それではターミナルで実行してみましょう。

<ターミナル>

(base) tanakayuki@tanakayukinoMacBook-Pro pythonProject % python main.py
(グー:1,チョキ:2,パー:3)あなたが出す手は?:1
あいこです
(base) tanakayuki@tanakayukinoMacBook-Pro pythonProject % python main.py
(グー:1,チョキ:2,パー:3)あなたが出す手は?:3
相手はチョキを出しました。あなたの負けです。
(base) tanakayuki@tanakayukinoMacBook-Pro pythonProject % python main.py
(グー:1,チョキ:2,パー:3)あなたが出す手は?:5
1~3の数字を入力してください。

と表示されます。

Pythonの勉強方法【おまけ】

Pythonの基礎文法を勉強するにはUdemyというオンラインプログラミング学習プラットフォームがおすすめです。

具体的に言うとこちらの講座です。

この講座だけで基礎文法だけでなく実践的な応用スキルまで身につけることができます。

めちゃくちゃわかりやすい講座なので気になる方は是非みてみてください。

私が受けたPythonの講座の中では最も良かったですしこの講座を受けるだけでPythonの案件をこなすことができるくらいプログラミングが上達すると思います。

実際多くの人がWeb上で高評価をしていてUdemyのPython講座といえばこの講座と言われているほどです。

気になる方はこちらのリンクから。

Udemy

その他の記事

おわりに

今回はPythonでじゃんけんプログラムの作り方について解説しました。

関数とif文が理解できている方なら簡単に理解することができると思います。

重要なのは自分で作ってみることなのでぜひ自分でアウトプットしてみてくださいね。

他にもPythonの記事を投稿しているのでそちらの方もぜひどうぞ。

コメント

タイトルとURLをコピーしました