はじめに
注意点などは前回を参照してください。
変数に文字列を入れる
文字はダブルクォーテーションで囲む。
# 3つの例文
print(“勇者は、荒野を歩いていた")
print(“勇者は、モンスターと戦った")
print(“勇者は、モンスターをたおした")
↓実行結果
—--
勇者は、荒野を歩いていた
勇者は、モンスターと戦った
勇者は、モンスターをたおした
—--
もし、「勇者」を「賢者」に修正する時にprint内の「勇者」を1つ1つ変えるのは手間がかかることがある。
そこで使うのが変数。
変数を使うと変更する箇所が1つに纏められるといったメリットがある。
※変数にデータを入れることを代入という。
player = “賢者” # 文字データを登録する場合はダブルクォーテーションで囲む
# 文字データが入った変数を表示、連結させるには以下のように記述する
print(player + "は、荒野を歩いていた")
print(player + "は、モンスターと戦った")
print(player + "は、モンスターをたおした")
↓実行結果
——
賢者は、荒野を歩いていた
賢者は、モンスターと戦った
賢者は、モンスターをたおした
——
変数に数値を入れる
数値はダブルクォーテーションで囲まない。
そのまま数字を入れるだけでOK
number = 10
print(number + number)
print(number * number)
↓実行結果
——---
20
100
——---
文字列と連結、数列と計算
文字列 + 文字列
文字列と文字列を + でつなぐと、連結する。
strings = "宇宙の" + "法則が" + "乱れる" + "!"
print(strings)
↓実行結果
——---
宇宙の法則が乱れる!
——---
数列 + 数列
数列と数列を + でつなぐと、計算される。
number = 20 + 900
print(number)
↓実行結果
——---
920
——---
数値?
数字をダブルクォーテーションで囲むと、文字列として処理される。
number = "20" + "900"
print(number)
↓実行結果
——---
20900
——---
数値が入った変数を文字列と組み合わせる際の注意点
player = "勇者"
number = 1000
print(player + "は" + number + "の経験値を得た。")
↓
——
Traceback (most recent call last):
File "Main.py", line 4, in
print(player + "は" + number + "の経験値を得た。")
TypeError: must be str, not int
(Exit status: 1)
——
文字列と数列を混ぜて連結するとエラーが起こる。
数値と文字列とでは厳密に区別されているため。
このような文字列と数列の種類をデータ型という。
組み合わせる(連結する)には…
数列の部分を文字列に変換する。
- str()関数 … 数値を文字列として変換する関数。引数内の数値を文字列に変換する。
player = "勇者"
number = 1000
print(player + "は" + str(number) + "の経験値を得た。")
↓
——
勇者は1000の経験値を得た。
——
ランダムモジュールを使う。
random関数
→ 0から1の間で、ランダムな数値を返す。
import random
number = random.random()
print("勇者は" + str(number) + "のダメージを受けた。")
↓実行結果(例)
—---
勇者は0.905685852637863のダメージを受けた。
—---
randint関数
→ 指定した引数のはにで、ランダムの整数の値を返す。
import random
number = random.randint(10,30)
print("勇者は" + str(number) + "のダメージを受けた。")
↓実行結果(例)
—---
勇者は17のダメージを受けた。
—---
- 数値であるため、それを使って計算することも可能。
ダメージの触れ幅が大きくなる。
import random
number = random.randint(1,5) * random.randint(100,500)
print("勇者は" + str(number) + "のダメージを受けた。")
↓実行結果(例)
—---
勇者は2030のダメージを受けた。 # 100 から 2500のランダムダメージ
—---
補足
Pythonで変数(ローカル変数)の名前は、次のルールに従う。
・最初の1文字目:英文字または、「」(アンダーバー)
・2文字目以降 :英文字・数字「」(アンダーバー)
変数名の例:
○ player :1文字目が、英小文字
○ weapon :1文字目が、「」(アンダーバー)
○ player01 :2文字目以降に数字
○ redDragon :2文字目以降に英大文字
× 1player :1文字目に数字は使えない
× class :重複
なお、「print」のように、Pythonで使われる関数名などは、
あらかじめ予約されている言葉なので変数名には利用できない。
・引数 … 関数に与えるデータ。
print(data)のdata
str(number)のnumber
・戻り値(返り値)…関数の処理結果のデータ
random.randint(1,200) → 1から200までのランダムな数が戻り値