Python

[Python] [演習①] input()

すらいむ管理人

プログラミングを学習する上で大切なことは、実際にコードを書いてみることです!
自分自身でエラーを解決しながら作り上げてくことで、スキルは大きく成長すると思います!

今回は Python の input() メソッドを理解できるように演習問題を解いてみましょう!

問題

input() を用いて1,2,3の番号が入力された際に、それぞれに対応する処理を呼び出してみましょう。

問題

プレイヤーと敵を定義し、キーボードの「1~3」のどれかが入力された際に敵のHPを減らすことができるプログラムを作成しなさい。

※作成するプログラムは、以下の条件を満たように作成すること。

コード作成時の条件

  1. main関数を定義すること
  2. プレイヤーと敵のHPを100と定義すること
  3. iuput() を用いて敵のHPは0になるまで input() の処理を繰り返すこと
  4. 1,2,3のそれぞれに対応する関数名は ” Fire_Magic ” , ” Ice_Magic ” , ” Thunder_Magic ” とする
  5. 1~3以外が入力された場合は「正しく入力されていません!」と表示すること
  6. ②の関数が呼び出された際の処理は、全て敵のHPを25減らす処理とする

解答例

study-image1

解答例は以下のようになっています!

#main関数を定義
def main():
    magic = { 1:"ファイア" , 2:"アイス" , 3:"サンダー"}
    print(magic)

#HPが0になるまで処理を繰り返す
    while PlayerHP > 0 and EnemyHP > 0:
        action = int ( input ( "行動を入力してください:"))
        if action == 1:
            Fire_Magic()
        elif action == 2:
            Ice_Magic()
        elif action == 3:
            Thunder_Magic()
        else:
            print("正しく入力されていません!")

        print("Playerの残りHP:" , PlayerHP)
        print("Enemyの残りHP:" , EnemyHP)

    print("プレイヤーWIN!")

def Fire_Magic():
    global EnemyHP
    EnemyHP = EnemyHP - 25
    print("あなたはファイアを唱えた!")

def Ice_Magic():
    global EnemyHP
    EnemyHP = EnemyHP - 25
    print("あなたはアイスを唱えた!")

def Thunder_Magic():
    global EnemyHP
    EnemyHP = EnemyHP - 25
    print("あなたはサンダーを唱えた!")

if __name__ == "__main__":
    PlayerHP = 100
    EnemyHP = 100
    main()

解説

main関数とは

プログラムを組むにあたってまず初めに main() 関数を定義しましょう。組み方は以下のようにします。

def main() を定義する場合には main() を一番上に記載し、以下に示す if 文を文末に記載します。これらはセットで用いられることを覚えてください。 

if __name__==”__main__”
  main()

この main 関数を用いることによるメリットは

  • プログラムが見やすくなる
  • def関数を main() 処理の後に記載できる

などがあります。

#関数内で一番上に配置
def main():
      ”main関数内の処理を記載”

#プログラムの一番下に配置
if __name__=="__main__"
     main()

global変数とは

本コードではdef関数を以下のように記載しています。この関数内に ” global EnemyHP ” と記載してあるのが分かると思います。

これはグローバル変数といって、関数の外であらかじめ定義されていた変数を def 関数内でも使えるようにできるようにするメソッドになります!

引数を何個も指定してコードを書くよりもはるかにプログラム自体が見やすくなるので覚えておきましょう!

def Fire_Magic():
    global EnemyHP  #global関数の定義
    EnemyHP = EnemyHP - 25
    print("あなたはファイアを唱えた!")

最後まで見ていただきありがとうございます!
ぜひ他の記事も読んでみてください!