この記事を読むことで
・割り算を使った簡単なゲームの作成
・関数と剰余演算子の使い方
・IF文による割り算の結果と勝敗の分岐
・標準入力の使い方
についての概要が掴めます。
割り算ゲームの題材として、歌い手のAdoさんの「踊」の歌詞を用います。
半端(=割り切れない時)ならK.O.されちゃいます(笑)
半端、つまり、割り算をして割り切れなかったら負け、割り切れたら勝ちという割り算ゲームを格闘ゲームをイメージして作りました。
余りが0で割り切れたなら勝ち、余りが出たら負けです。
ここで被除数(割られる数)を「9」とします。
変数は「dividend」を用います。
次に除数(割る数)を「2」とします。
変数は「divisor」を用います。
余りの変数を「remainder」とします。
ここで剰余演算子「%」を使用します。
#計算結果から余りを算出
remainder=dividend % divisor
余りは1になり、勝負は「負け」です。
勝敗結果の「負け」を変数「msg」に代入します。
#dividendは被除数(割られる数)
dividend=9
#divisorは除数(割る数)
divisor=2
#計算結果から余りを算出
remainder=dividend % divisor
#割り切れるかどうかの判定
if remainder==0:
msg="YOU WIN!!!!!!!!!!!!!!!!!!!\n"
else:
msg="YOU LOSE.....\n"
print(msg)
実行結果です。

あー、負けちゃいましたね。
では、
ここで被除数(割られる数)の変数「dividend」を「8」、
次に除数(割る数)の変数「divisor」を「4」とします。
今度は余り「remainder」が0になるので、msgには「勝利」のメッセージが代入されます。
そのコードと実行結果です。
#dividendは被除数(割られる数)
dividend=8 # ←変更
#divisorは除数(割る数)
divisor=4 # ←変更
#計算結果から余りを算出
remainder=dividend % divisor
#割り切れるかどうかの判定
if remainder==0:
msg="YOU WIN!!!!!!!!!!!!!!!!!!!\n"
else:
msg="YOU LOSE.....\n"
print(msg)

今度は、標準入力を使って、自在に数を指定出来るように致します。
#dividendは被除数(割られる数)を入力
print("dividend被除数(割られる数)を入力して下さい>>>",end='')
dividend=int(input()) # ←標準入力に
コードと実行結果です。
標準入力で指定して、12を4で割っているので、この勝負は勝ちです!
print('♪ 半端ならK.O......\n') #まずは歌って♪
#dividendは被除数(割られる数)を入力
print("dividend被除数(割られる数)を入力して下さい>>>",end='')
dividend=int(input()) # ←標準入力に
#divisorは除数(割る数)
print("divisor除数(割る数)を入力して下さい>>>",end='')
divisor=int(input()) # ←標準入力に
#計算結果から余りを算出
remainder=dividend % divisor
#割り切れるかどうかの判定
if remainder==0:
msg="YOU WIN!!!!!!!!!!!!!!!!!!!\n"
else:
msg="YOU LOSE.....\n"
print(msg)

細かい修正ですが、割られる数、割る数、余りを表示させます。
その実行結果です。
print('♪ 半端ならK.O......\n') #まずは歌って♪
#dividendは被除数(割られる数)を入力
print("dividend被除数(割られる数)を入力して下さい>>>",end='')
dividend=int(input()) # ←標準入力に
#divisorは除数(割る数)
print("divisor除数(割る数)を入力して下さい>>>",end='')
divisor=int(input()) # ←標準入力に
#計算結果から余りを算出
remainder=dividend % divisor
print("被除数(割られる数)="+str(dividend))
print("割る数="+str(divisor)+"\n")
print("余り【"+str(remainder)+"】\n")
#割り切れるかどうかの判定
if remainder==0:
msg="YOU WIN!!!!!!!!!!!!!!!!!!!\n"
else:
msg="YOU LOSE.....\n"
print(" 果たして勝負の結果は・・・・\n"+msg)

割り切れませんので、余り、半端なのでK.O.されて負けました。
次に、ここまで書いたコードを関数を使ってみます。
標準入力で割られる数、割る数を入力して、それらを引数として関数「dance_div」を呼び出します。
呼び出された「dance_div」の中で仮引数として、割られる数「x」と割る数「y」が入ります。
計算をして数を表示します。
余りによる分岐をして、勝敗結果の変数msgを戻り値として呼び出し元に戻します。
呼び出し元では変数「judgment」に代入します。
関数の部分です。
#割り算してあまりを返す関数
def dance_div(x,y):
#計算結果から余りを算出
remainder=x % y
print(" 被除数(割られる数)="+str(x))
print(" 割る数="+str(y)+"\n")
print(" 余り【"+str(remainder)+"】\n")
#割り切れるかどうかの判定
if remainder==0:
msg=" YOU WIN!!!!!!!!!!!!!!!!!!!\n"
else:
msg=" YOU LOSE.....\n"
#関数の呼び出し元に代入する
return msg
コードと実行結果です。
print('♪ 半端ならK.O......\n') #まずは歌って♪
#割り算してあまりを返す関数
def dance_div(x,y):
#計算結果から余りを算出
remainder=x % y
print("被除数(割られる数)="+str(x))
print("割る数="+str(y)+"\n")
print("余り【"+str(remainder)+"】\n")
#割り切れるかどうかの判定
if remainder==0:
msg="YOU WIN!!!!!!!!!!!!!!!!!!!\n"
else:
msg="YOU LOSE.....\n"
#関数の呼び出し元に代入する
return msg
#dividendは被除数(割られる数)を入力
print("dividend被除数(割られる数)を入力して下さい>>>",end='')
dividend=int(input())
#divisorは除数(割る数)
print("divisor除数(割る数)を入力して下さい>>>",end='')
divisor=int(input())
#関数を呼び出して勝敗結果を「judgment」に代入
judgment=dance_div(dividend, divisor)
print("果たして勝負の結果は・・・・\n"+judgment)

お疲れ様でした。ブレイクタイムPhotoは、

コスモスの花です。
しながわ花海道で撮影しました。
ご精読ありがとうございました。
■ 独習Python ■
Kindle版
単行本(ソフトカバー)