ループネスト

787 ワード

前にfor...in...は、inの後の文が指すコンテンツをinの前の変数にコピーするループ文です.
例:
for i in range(1,6):
    print("*"),
以上のループでは、変数iに1から5を順次付与し、付与するたびにアスタリスクを印刷します(print文の後ろのカンマは改行を表します).
出力がより複雑な場合、たとえば星からなる方程式を出力する必要がある場合は、ループネストを使用します.
例1:
for i in range(1,6):
    for j in range(1,6):    
        print("*")
    print
以上のループでは、iが付与されるたびに、完全なj付与サイクルが実行される.すなわち、iが1回付与されるたびにjは5回付与され、jの5回付与されるたびに星番号が印刷される.したがって,iが1回付与されるたびに5つのアスタリスクが印刷される.同時に、iが1回の付与を実行するたびにprint(すなわち4行目)が実行され、このprintは改行の意味を表す.i割り当てを5回実行すると、動作ごとに5つの星の行列が得られます.
例2:
for i in range(1,6):
    for j in range(1,i+1):
        print("*")
    print
今回,jのサイクル付与上限はi+1となり,すなわちiの数値が増加するにつれて増加した.iが1増加するごとにjの付与上限も1増加するので、アスタリスクの印刷は1行目の1つから5行目の5つに増加する.