0
0

More than 3 years have passed since last update.

Python入門 モジュールと条件式について

Last updated at Posted at 2020-09-12

はじめに

Pythonのif文を使用した条件式について学習しました。その勉強記録です!

概要

Python学習中です。初歩の条件式を「RPGゲームの対戦状況」を再現して、学習したのでアレンジを加えて、まとめてみました。

学習内容

Python入門
条件式
変数とデータ型
randomモジュール

完成コード

# RPGの攻撃状況を再現

# モンスターと戦っている。
# 1から10のサイコロをふって、
# 6未満の場合、サイコロの目だけダメージを与えたと表示。
# 6以上の場合、クリティカルヒットとして、100のダメージを与えたと表示。
# 0の場合、防御されたとして、0ダメージを表示。

import random
hit = random.randint(0,10)
if 1 <= hit < 6:
    print("スライムに、" + str(hit) + "のダメージを与えた!")
elif hit >= 6:
    print("クリティカルヒットダメージ100を与えた")
else:
    print("ダメージは、" + str(hit) + "防御された")

コードの説明

一つずつコードを確認していきます。

import

import random
hit = random.randint(0,10)

importとは、組み込むこと。

import random

この場合、randomモジュールを組み込んだことになります。

randomモジュール

モジュールとはプログラミングを設計する為のパーツです。
Pythonでは、こういったモジュールを組み合わせてプログラムを作成していくそうです。

今回使用するrandomモジュールには、「random関数」、「randint関数」などが格納されています。

  • random関数・・・0から1までの間で、ランダムな数値を返す
  • randint関数・・・指定した引数の範囲で、ランダムな整数の値を返す

randomモジュールを使用する際には、 「random.関数名()」 で使用します。

例) random.random()
  random.randint()

hit = random.randint(0,10)

よってこのコードでは、hitという変数にrandint関数で指定された0〜10の値からランダムに数字が代入されます。

if文(条件式)

if 1 <= hit < 6:
    print("モンスターに、" + str(hit) + "のダメージを与えた!")
elif hit >= 6:
    print("モンスターにクリティカルヒットダメージ100を与えた")
else:
    print("ダメージは、" + str(hit) + "防御された")

次のコードは条件式です。
まず基本的なif文による条件分岐の書き方を確認しておきます。

if文による条件分岐

こちらが基本的なif文による条件分岐の書き方。

number = 1
if 条件式1:
    print( "OK!")  #条件式1が成立したときの処理
elif 条件式2:
    print( "どちらでもない")  #条件式2が成立したときの処理
else:
    print( "NG!")  #条件式がどれも成立しなかったときの処理

今回の条件式では、

hitに代入されたrandint関数で指定された0〜10の値が条件となって処理が行われます。

当てはめていきます。

①【条件式1】

if 1 <= hit < 6:

※代入されたhitの値が「1以上6以下の場合」

→ print("モンスターに、" + str(hit) + "のダメージを与えた!")

の処理が実行されます。

②【条件式2】

elif hit >= 6:
※代入されたhitの値が「6以上の場合」

→ print("モンスターにクリティカルヒットダメージ100を与えた")

の処理が実行されます。

③【条件式1と条件式2どちらも成立しない】

else:

※今回だと、代入されたhitの値が「0の場合」

print("ダメージは、" + str(hit) + "防御された")

の処理が実行されます。

まとめ

以上です。

ランダムに生成された値によって条件分岐され、処理が実行される流れになります。

一連の流れを「RPGゲームの対戦状況」として再現してみました。

import random
hit = random.randint(0,10)
if 1 <= hit < 6:
    print("スライムに、" + str(hit) + "のダメージを与えた!")
elif hit >= 6:
    print("クリティカルヒットダメージ100を与えた")
else:
    print("ダメージは、" + str(hit) + "防御された")

参考

randomモジュール
https://docs.python.org/ja/3/library/random.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0