【Day8】Python入門 4.1:繰り返しの基本構造

目次

要約

本日は、Pythonで以下を学びました。

繰り返しの基本構造

while文

無限ループ

状態による繰り返し

繰り返しによるリストの作成

繰り返しによるリスト要素の利用

#繰り返しによるリストの作成、参照を行ってみましょう
count = 0
student_num = int(input('学生の数を入力してください>>'))
score_list = list()
while count < student_num:
    count += 1
    score = int(input(f'{count}人目の試験の得点を入力してください>>'))
    score_list.append(score)
print(score_list)
total = sum(score_list)
print(f'平均点は{total / student_num}点です')

count = 0
while count < len(score_list):
    if score_list[count] >= 60:
        print(f'{count+1}人目:合格')
    else:
        print(f'{count+1}人目:不合格')
    count += 1

はじめに

前回は分岐構文のバリエーションについて学びました。

​今回は、繰り返しの基本構造について学習します。


繰り返しの基本構造

while 文

繰り返しは分岐と同じく、代表的な制御構造の1つ。

分岐は条件によって実行する処理の「内容」を変えることができましたが、

繰り返しは条件によって処理を実行する「回数」を変えることができます

条件によって処理の繰り返しを指示する文をwhile文といい、繰り返し実行されるブロックをwhileブロックといいます

また、条件式を記述するのはif文と同じです。

変数countのように、繰り返すたびにその値が変化し、繰り返しの条件となる変数を

カウンタ変数またはループ変数(ループカウンタ)といいます

・whileの後ろに処理を繰り返す条件式を書く。

・条件が成立している間は、直後のブロックが繰り返し実行される。

・条件が成立していなかったら、繰り返しが終わる。

while文

while 条件式:
 条件が成立したときの処理(while ブロック)

※ブロックはインデント(字下げ)によって指定する。


無限ループ

whileブロックの中でカウンタ変数の値を変えなければ、繰り返し条件は常に成立し、繰り返しは終了しません

このようないつまでも続く繰り返しを無限ループと呼びます

Pyhonコマンドで実行した場合は、Ctrl + C キーで処理を中断できます。


状態による繰り返し

回数ではなく、変数の状態をTrue 、False のbool型を用いることによって繰り返しの条件を判定することも可能です。

このような二者択一の状態を表す情報をフラグ(flag)といいます

bool型でフラグを表す

ある事柄や状態を二者択一で表すには、bool型を利用する

フラグを意味する変数名は、「is_xxx」とするのが一般的

状態による繰り返しの文を作ってみましょう。

#状態による繰り返しの文を作ってみましょう
is_awake = True
count = 0
while is_awake == True:
    count += 1
    print(f'ひつじが{count}匹')
    key = input('もう眠りそうですか?(y/n)>>')
    if key == 'y':
        is_awake = False
print('おやすみなさい')

変数の状態をFalseにし、繰り返しから抜け出せました!


繰り返しによるリストの作成

繰り返しの定石ともいえるプログラミングを見ていきましょう。

コンテナは通常、繰り返しと組み合わせて使います。

繰り返しによるリストの作成を行ってみましょう。

#繰り返しによるリストの作成を行ってみましょう
count = 0
student_num = int(input('学生の数を入力してください>>'))
score_list = list()
while count < student_num:
    count += 1
    score = int(input(f'{count}人目の試験の得点を入力してください>>'))
    score_list.append(score)
print(score_list)
total = sum(score_list)
print(f'平均点は{total / student_num}点です')

繰り返しを利用して、リストにデータを追加することができました!


繰り返しによるリスト要素の利用

繰り返しを利用して、リストに格納された要素を先頭から末尾までを参照することもできます。

こういった処理を「リストを回す」とも呼び、よく使われる構文です。

繰り返しを利用してリストの要素を参照する

カウンタ変数 = 0
while カウンタ変数 < len(リスト) :
  リスト[カウンタ変数]を使った処理
  カウンタ変数 += 1

例文を使って、確認してみましょう。

#リストの全要素を繰り返し参照する
scores = [80, 20, 75, 60]
count = 0
while count < len(scores)
    if scores[count] >= 60:
        print('合格')
    else:
        print('不合格')
    count += 1

whileブロックの中でリストの添え字にカウンタ変数を指定すると、繰り返しのたびに添え字が変化します。

そのため、リストの要素に順番にアクセスできます。

変数count をリストの要素番号にするのはいい考えですね!


まとめ

本日は、Pythonで以下を学びました。

繰り返しの基本構造

while文

無限ループ

状態による繰り返し

繰り返しによるリストの作成

繰り返しによるリスト要素の利用

#繰り返しによるリストの作成、参照を行ってみましょう
count = 0
student_num = int(input('学生の数を入力してください>>'))
score_list = list()
while count < student_num:
    count += 1
    score = int(input(f'{count}人目の試験の得点を入力してください>>'))
    score_list.append(score)
print(score_list)
total = sum(score_list)
print(f'平均点は{total / student_num}点です')

count = 0
while count < len(score_list):
    if score_list[count] >= 60:
        print(f'{count+1}人目:合格')
    else:
        print(f'{count+1}人目:不合格')
    count += 1

次回は「for 文」を扱っていきます。


whileを使った繰り返しのプログラミングが書けるようになりました!
これで出来ることがかなり増えました!

目次