Python言語では、ループ本体内に別のループを埋め込むことができます。
Python forループのネスト構文:
for iterating_var in sequence:for iterating_var in sequence:statements(s)statements(s)
Python whileループネスト構文:
while expression:while expression:statement(s)statement(s)
whileループのforループなど、他のループ本体をループ本体に埋め込むことができます。その逆も可能です。whileループをforループに埋め込むこともできます。
例:
次の例では、ネストされたwhileループを使用して、2〜100の素数を出力します。
#! /usr/bin/python
# - *- coding: UTF-8-*-
i =2while(i <100):
j =2while(j <=(i/j)):ifnot(i%j):break
j = j +1if(j i/j): print i,"プライムです"
i = i +1
print "Good bye!"
上記の例の出力:
2 プライムです
3 プライムです
5 プライムです
7 プライムです
11 プライムです
13 プライムです
17 プライムです
19 プライムです
23 プライムです
29 プライムです
31 プライムです
37 プライムです
41 プライムです
43 プライムです
47 プライムです
53 プライムです
59 プライムです
61 プライムです
67 プライムです
71 プライムです
73 プライムです
79 プライムです
83 プライムです
89 プライムです
97 プライムです
Good bye!
forループのネストを使用して、100以内の素数を取得します
#! /usr/bin/python
# - *- coding: UTF-8-*-
num=[];
i=2for i inrange(2,100):
j=2for j inrange(2,i):if(i%j==0):breakelse:
num.append(i)print(num)
出力結果
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
Recommended Posts