Categories: Python

Python学習part5

どうもーASN48です。

Progateの学習コース「Python Ⅲ」が修了しましたので、その復習・アウトプットです!

今回は「じゃんけん」と同じ要領で、ポケモンの御三家属性である「ほのおみずくさ」で勝負した時の勝ち負け、引き分け判定を行います。

自分の攻撃する属性を3つから選択して、相手の属性はランダムになります。


「スポンサーリンク」

 

プログラムコード

/* Your code... */
#ランダムモジュールを読み込みます
import random

#定義
def validate(attribute):
    if attribute < 0 or attribute > 2:
        return False
    return True

def print_attribute(attribute, name='ゲスト'):
    attributes = ['ほのお', 'みず', 'くさ']
    print(name + 'は' + attributes[attribute] + '属性で攻撃しました')

def judge(player,computer):
    if player == computer:
        return 'こうかはいまひとつ'
    elif player == 0 and computer == 2:
        return '勝ち'
    elif player == 1 and computer == 0:
        return '勝ち'
    elif player == 2 and computer == 1:
        return '勝ち'
    else:
        return '負け'

print('勝負を始めます!')
player_name = input('名前を入力して下さい:')
print('なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)')
player_attribute = int(input('数字で入力して下さい:'))

if validate(player_attribute):
    computer_attribute = random.randint(0,2)

    if player_name == "":
        print_attribute(player_attribute)
    else:
        print_attribute(player_attribute, player_name)

        print_attribute(computer_attribute, 'コンピューター')

    result = judge(player_attribute, computer_attribute)
    print('結果は' + result + 'でした')

else:
    print('正しい数値を入力してください')


「スポンサーリンク」

 

このプログラムを実行します!

/* Your code... */
勝負を始めます!
名前を入力して下さい:ASN48
なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)
数字で入力して下さい:0
ASN48はほのお属性で攻撃しました
コンピューターはくさ属性で攻撃しました
結果は勝ちでした

ちゃんと動いてますね!

自分が「ほのお」で攻撃して、相手が「くさ」で攻撃したので勝ちました。

ではもう一度「ほのお」を選択してみます。

/* Your code... */
勝負を始めます!
名前を入力して下さい:ASN48
なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)
数字で入力して下さい:0
ASN48はほのお属性で攻撃しました
コンピューターはみず属性で攻撃しました
結果は負けでした

先ほどと同じ「ほのお」で攻撃しましたが、今度は相手が「みず」でしたので負けてしまいました。

ランダムも無事動いています!


「スポンサーリンク」

 

次は「みず」を選択してみます!

/* Your code... */
勝負を始めます!
名前を入力して下さい:ASN48
なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)
数字で入力して下さい:1
ASN48はみず属性で攻撃しました
コンピューターはほのお属性で攻撃しました
結果は勝ちでした

自分が「みず」相手が「ほのお」で勝ちました。

次は名前を入力せずに進めます。

/* Your code... */
勝負を始めます!
名前を入力して下さい:
なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)
数字で入力して下さい:1
ゲストはみず属性で攻撃しました
結果は勝ちでした

名前を入力しない場合「ゲスト」と表示されます。


「スポンサーリンク」

 

次は「くさ」を選択してみます!

/* Your code... */
勝負を始めます!
名前を入力して下さい:ASN48
なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)
数字で入力して下さい:2
ASN48はくさ属性で攻撃しました
コンピューターはくさ属性で攻撃しました
結果はこうかはいまひとつでした

自分も相手も同じ「くさ」でしたので「こうかはいまひとつ」=引き分けですね!

最後に「0~2」以外の数字を入力した場合

/* Your code... */
勝負を始めます!
名前を入力して下さい:ASN48
なにで勝負しますか? (0:ほのお, 1:みず, 2:くさ)
数字で入力して下さい:5
正しい数値を入力してください

「0~2」以外の数字が入力された場合には「正しい数値を入力してください」とエラーメッセージが表示されています。

これですべてのパターンで動作確認ができバグもなさそうですね!

次からはProgateの学習コース「PythonⅣ」を進めていきます!

ではアデュー。

asn48

福島県在住。1989年(平成元年)生まれの男です。 色々なことに興味を持って多趣味ですが、飽きやすく冷めやすい性格。 ブログについては、ゆるーく好きな時に好きなことを書いていきたいと思い始めてみました。よろしくお願い致します。

Recent Posts

世界樹の迷宮1 HD REMASTER part1

どうもーASN48です。 つい…

1年 ago

ついにゲーミングPC買ったぜ!!!

どうもーASN48です。 つい…

1年 ago

世界樹の迷宮X 三人旅 社畜が世界樹へ挑む 一覧

この三人パーティで難易度ヒロイ…

2年 ago