ray88’s diary

お仕事で困ったとき用の自分用の覚書

繰り返した後で実行する while ~ else

pythonのwhile文には繰り返しを終了した後で実行するelseブロックを追加することができる
途中 breake で中断した場合は else ブロックは実行されない
python 目次 - ray88’s diary
python While文 - ray88’s diary
Python 繰り返しを中断して終了する break - ray88’s diary
Python 繰り返しをスキップする continue - ray88’s diary

while 条件式:
    #インデントの開始(半角空白4個下げ)
    # 条件式がTrueの間繰り返し実行される
    ステートメント1
    ステートメント2
    ステートメント3
else:
    # While文を抜ける前に実行される
    ステートメント1
    ステートメント2
    ステートメント3
#インデントの終了(While文の終了)

サンプルコード

from random import randint
numbers = [] #空のリスト
#numberの値が見10個になるまで繰り返すする
while len(numbers) < 10:
    n = randint(-10,90)
    if n < 0:
        #nがマイナスならブレイクする
        print("中断されました")
        #elseブロックをW実行せずに終了する
        break
    if n in numbers:
        #nがnumbersに含まれていたらスキップする
        continue
    #numbersにnを追加する
    numbers.append(n)
else:
    print(numbers)

出力結果1

出力結果2