Python 言語を使用すると、ループ本体内に別のループを埋め込むことができます。
ループの入れ子の構文:
シーケンス内の iterating_var の場合:
シーケンス内の iterating_var の場合:
ステートメント
ステートメント
Python while ループネスト構文:
while 式:
while 式:
ステートメント
ステートメント
while ループなど、ループ本体内に他のループ本体を埋め込むことができます。 for ループを埋め込むこともできます。逆に、for ループ内に while ループを埋め込むこともできます。
例:
1. 最初のリストから 1 つずつ取り出し、2 番目のリストから 1 つずつ取り出し、新しいリストにすべての組み合わせが含まれます
。List1 = ['zi', 'qiang', 'xue', 'tang']
List2 = [1, 2]
new_list = []
List1のm:
for nリスト 2:
new_list.append([m, n])
print new_list
, 2] , ['qiang', 1], ['qiang', 2], ['xue', 1] , ['xue', 2], ['tang', 1], ['tang', 2]]
2 リストから一度に 2 つを取り出し、すべての組み合わせを見つけます
List = [1, 2, 3, 4, 5]
length = len(List )
for x in range(0, length-1):
for y in range(x +1、長さ):
リスト[x]、リスト[y]
結果:
12
13
14
15
23次の例では、ネストされたループを使用して 2 から 20 までの素数を出力します。分析:数値 n について、1 から n ** 0.5 (ルート n) までの数値がすべて割り切れる場合、数値 n は素数です。
3.1 for を使用して
# -*-coding: utf-8 -*-
n = 20
for i in range(1, n):
for j in range(2, int(i**0.5)):
if i % j == 0:
Break
else:
print i, 'は素数です'
3.2実装までの間
#!/usr/bin/python
# -*- コーディング: utf-8 -*-
i = 2
while(i
j = 2
while(j
if not(i%j): #
ブレーク
j = j を意味する場合は、 if i % j == 0 と書きます。 + 1
if (j > i/j):
print i, "は素数です" i = i + 1
print "さようなら!"
説明: i % j は i を j で割った余りを意味します。数値の場合、0 に対応するブール値が false で、その他の値が true でない (i % j) は、i % j が 0 の場合にのみ条件が成立する、つまり均等に分割できるかどうかを意味します。
上記の例の出力結果:
2 は素数
3 は素数
5 は素数
7 は素数
11 は素数
13は素数です
17は素数です
さようなら!