にしのクエスト2

情報処理技術者試験と資格学校講師の日常

20210620102927

pythonで学ぶ超初心者プログラミング (25)練習問題4

プログラミング超初心者向けの連載です。

目標は高校生が「共通テスト」ないしは「基本情報処理技術者」
でPythonライクな疑似言語に困らないレベルにすることです。
少しずつ進みつつ、超簡単に説明していく所存でございます。

ぜひ、エディタ片手に実行しながらお読みくださいませ。

セットアップの記事はこちらです。

www.nsnq.tech

 

練習4

じゃんけんをするプログラムを書きなさい。
相手の手はランダムとし、勝敗の判定を行うこと。


(ヒント)
これ、有名な問題なのですが。難しい。

ifを続けて処理することもできるのですが。
自分のグーチョキパーを012
相手のグーチョキパーを012
とおくと

勝敗=(自分の手-相手の手+3)%3
となるアルゴリズムがあります。


ということで、答えいってみましょう。
これだけが正解じゃないからね!

#randamのインポート

import random

 

#ここから変数

#プレイヤー

a=0

#敵

b=0

#敵の手データ

te=[0,1,2]

#手の表示

c=""

d=""

#判定データ

judge=["あいこ", "負け", "勝ち"]

 

#ここから処理

#自分の手の入力

a=int(input("手を選んでね\n0グー1チョキ2パー>>"))

 

#相手の手をランダムで選ぶ

b=random.choice(te)

 

#自分の手の表示

if a==0:

    c="グー"

elif a==1:

    c="チョキ"

elif a==2:

    c="パー"

 

#相手の手の表示

if b==0:

    d="グー"

elif b==1:

    d="チョキ"

elif b==2:

    d="パー"

 

#両者の表示

print("あなたの手は"+c+"敵の手は"+d)

 

# 勝敗判定

k=(int(a)-int(b)+3)%3

 

#結果表示

print("勝負の結果は"+judge[k])



続きます!