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匹縛りでプレイ part1

どうもーASN48です。 小学…

1日 ago

世界樹の迷宮1 HD REMASTER part2

どうもーASN48です。 なん…

2か月 ago

世界樹の迷宮1 HD REMASTER part1

どうもーASN48です。 つい…

2年 ago

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

どうもーASN48です。 つい…

2年 ago

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

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

3年 ago