にしのクエスト2

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

20221224103753

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


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

この講座の目標は高校生が「共通テスト」ないしは「基本情報処理
技術者」でPythonライクな疑似言語に困らないレベルにすること。

もちろん、他の言語を学ばれた方にも「Python」に馴染んでいただ
けるような内容にできたらと考えています。

Python+VSCの組み合わせでやっています。環境設定は過去記事を
ご覧ください。

練習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])



続きます!