目次
はじめに
どーも、学生エンジニアのゆうき(@engieerblog_Yu)です。
今回は私がPythonで組んだじゃんけんプログラムを公開します。
プログラミング、、?何それ、おいしいのにゃ?
ご自由にコードをおパクリ下さい。(笑)
じゃんけんプログラムを理解するための予備知識(スキップOK)
今回作成するじゃんけんプログラムについて必要なプログラミングについての基礎知識は
・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)
それではターミナルで実行してみましょう。
<ターミナル>
% python main.py
(グー:1,チョキ:2,パー:3)あなたが出す手は?:1
あいこです
% python main.py
(グー:1,チョキ:2,パー:3)あなたが出す手は?:3
相手はチョキを出しました。あなたの負けです。
% python main.py
(グー:1,チョキ:2,パー:3)あなたが出す手は?:5
1~3の数字を入力してください。
と表示されます。
あっちむいてほいや指スマなどの記事も投稿してます。
最後に、
・大学のPythonの講義が理解できないから単位取れるか不安
・プログラミングを使ったバイトやインターン、就職に興味がある
という方向けに「私はPythonを使えます!」ということができるくらいプログラミングを上達することができるおすすめ講座を紹介したいと思います。
Pythonの勉強方法【おまけ】
上記に当てはまった人はUdemyというオンラインプログラミング学習プラットフォームにあるこちらの講座がおすすめです。
上記の講座のコースを全て受ければ即Pythonエンジニアとして働くことができるくらいのスキルを身につけることができます。
上記の講座は豊富なコースがあるので単位やバイト、インターン程度であれば必要だと思った箇所だけ受けるなんてことも可能です。
私が受けたPythonの講座の中では最も良かったですし、この講座を受けるだけで本質的にプログラミングを理解することができると思います。
プログラミングについて予備知識が無いという前提の講座ですし、質問をすることもできるので自分のプログラミングスキルに自信がない方で、頑張ってみたいと思っていたらぜひ受けてみて欲しい講座となっています。
以下のリンクからUdemy講座を参照することができます。
自分の未来に投資しよう。サイバーセール中はUdemyコースが最大90%OFF。独学が辛いという方はプログラミングスクールの記事も合わせておすすめです。
おわりに
今回はPythonでじゃんけんプログラムの作り方について解説しました。
関数とif文が理解できている方なら簡単に理解することができると思います。
重要なのは自分で作ってみることなのでぜひ自分でアウトプットしてみてくださいね。
noteもやっているので、ぜひフォローよろしくお願いします!
他の記事もおすすめにゃー。
AI美女生成に興味がある方
Stable Diffusionを使ってAI美女を生成する方法についてもnoteで解説しています。
コメント