for文
リストの要素を順に取り出して処理を行うためにはfor文を用いる。
「for 変数名 in リスト:」で表す。
コード
meals = ['カレー' , 'パスタ' , 'ハンバーガー'] for meal in meals : print('本日の日替わりメニューは'+ meal+'です') ←for文の条件下なのでインデントが必要
コンソール
本日の日替わりメニューはカレーです
本日の日替わりメニューはパスタです
本日の日替わりメニューはハンバーガーです
回数を指定して繰り返す場合は、
「for i in range(回数) :」で表す。
コード
for i in range(10) : print(2 , '×' , i '=' , 2 * i)
コンソール
2 × 0 = 0
2 × 1 = 5
2 × 2 = 10
2 × 3 = 15
2 × 4 = 20
2 × 5 = 25
2 × 6 = 30
2 × 7 = 35
2 × 8 = 40
2 × 9 = 45
必ず0からスタート!
リスト
複数のデータは「リスト」にまとめることができ、以下のように定義する。
リスト名 = [要素1, 要素2, 要素3, ... ]
print(リスト名[インデックス]) ← リストの要素を表示する
コード
lunch = ['カレー' , 'パスタ' , 'ハンバーガー'] print(lunch) print(lunch[1])
←リストの要素は 前からインデックス番号がつけられていて、先頭から「0」、「1」、「2」の順番。
コンソール
['カレー' , 'パスタ' , 'ハンバーガー']
パスタ
リストに要素を末尾に追加する場合「リスト.append(値)」で追加。
コード
lunch = ['カレー' , 'パスタ' , 'ハンバーガー'] lunch.append('定食') print(lunch)
コンソール
['カレー' , 'パスタ' , 'ハンバーガー' ,' 定食' ]
条件分岐-if文(2)
if文に「else」をつけると、if文が False のときの処理が実行される。
コード
score = 30 if score ==100 : print('congratulations!') print('よくがんばりました') else : print('がんばりましょう')
コンソール
がんばりましょう
if文で条件を複数定義し細分化する場合、「elif」を用いる。
コード
score = 80 if score ==100 : print('congratulations!') elif score >= 80 : print('good!') elif score >= 60 : print('OK') else : print('もう一度チャレンジ!')
コンソール
good!
ここで、「elif」は上部より優先的にならんでいて一度条件に合致し実行されたら下部の条件は無視される。
続いて条件を付け加えてみよう。
①「and」は「かつ」
コード
time = 12 if time > 10 and time < 20 : ← 省略形として if 10 < time <20 : でもOK! print('営業時間内です')
コンソール
営業時間内です
②「or」は「または」
time = 12 if time == 7 or time == 12 or time == 19 : print('食事の時間です')
コンソール
食事の時間です
③「not」は条件の否定(条件がFalseならTrue)
time = 4 if not time >= 5 : print('まだ起きる時間ではありません')
コンソール
まだ起きる時間ではありません
これら①〜③を論理演算子と呼ぶ。
条件分岐-if文(1)
「もし〜ならば…をする」とういうのが条件分岐。条件に当てはまれば(Trueならば)実行されるが、条件に当てはまらなければ(Falseならば)実行されない。(True、False は比較演算子と真偽値を参照)
コードのif文の条件下ではインデント(字下げ)が必要。
コード
time = 5 if time == 5 : ← 条件式(行末にコロン:が必要) print('起きる時間です') ← ifの条件下のためインデント*がある
*インデントは半角スペース4つ分。(ooooprint)
コンソール
起きる時間です
コード
time = 4 if time == 5 : print('起きる時間です') ← if文条件下(インデントあり) print('準備してください') ← if文条件下(インデントあり) print('ただいまの時刻は'+str(time)+'時です') ←if文の外(インデントがないとif文の影響は受けない)
コンソール
ただいまの時刻は4時です ←if文の条件に当てはまらかったのでif文条件外のみを出力
time = 5 if time == 5 : print('起きる時間です') ← if文条件下(インデントあり) print('準備してください') ← if文条件下(インデントあり) print('ただいまの時刻は'+str(time)+'時です')
コンソール
起きる時間です
準備してください
ただいまの時刻は5時です
比較演算子(== 、!= 、< 、<= 、> 、>=)と真偽値
比較演算子とは、左辺と右辺が等しいかどうかや左辺と右辺の比較について調べるもの。
x == y ← xとyが等しいときTrue
x != y ← xとyが等しくないときTrue
x < y ← xがyより小さいときTrue
x > y ← xがyより大きいときTrue
x <= y ← xがy以下のときTrue
x >= y ← xがy以上のときTrue
ここで、「True」は真偽値と呼び、比較演算子の条件が満たされているときに「True」となり、
条件が満たされないときは「False」となる。
コード
print(3 == 3) print(3 >= 5) print(3 +5 < 2) print(3 * 5 <= 17) print(6 / 3 > 1)
コンソール
True
False
False
True
True
型変換
数値と文字列ではデータ型が異なるので一緒にコードに打つためにはどちらかに合わせる必要がある。
そこで、型変換「str」、「int」を用いる。
「str」は数値型を文字列に。
「int」は文字列を数値型に。
まずは文字列へ変換。
コード
count = 3 print('たばこが' + str(count) + '本しかない')
コンソール
たばこが3本しかない
ここで文字列の際の「+」は連結となり前後のをくっつけることができる。(数値のときは足し算だね)
次は数値型への変換。
コード
count = 3 price = '100' total_price = count*int(price) print(total_price)
( 変数count、 price、 total_priceへの代入がわからなければ、「変数」参照)
コンソール
300
変換されていない文字列と数値型の計算は実行されない。
数値型どうしの計算なので掛け算が実行される。
変数
数値や文字のデータを入れておくものを変数。
「変数名=値(数、文字列)」 で定義する。(変数名を''で囲む必要はない)
「=」は右辺を左辺に代入するという意。
コード
name = 'python' number = 10 print(name) print(number)
コンソール
10
変数名は英単語を用い、2語以上ではアンダーバーで区切る事(例phone_number)がルール。
また、変数名の最初の文字は数字はNG!
変数の値を更新するには、
「変数名=新しい値」 で定義しなおせばよい。
コード
name = 'python' print(name) name = 'java' print(name)
コンソール
python
コード
x = 3 print(x) x = x+2 print(x)
コンソール
3
5
また、変数の数値の再定義の際には省略形がある。
コード
x = x + 3 → x += 3 x = x - 3 → x -= 3 x = x * 3 → x *= 3 x = x / 3 → x /= 3 x = x % 3 → x %= 3