Pythonベース(7)——ループ文(for,while,ネストループの用法詳細)
5201 ワード
forサイクル
文を繰り返します.サイクル数が既知である場合にforサイクルを使用し、すべてのforサイクルをwhileサイクルで実現することができる.
whileサイクル
与えられた判定条件がtrueの場合にループを実行し、そうでなければループを終了する.ループ回数が不明な場合はwhileループを使用します.
ネストされたループ
ループボディにネストされたループ.
一、forサイクル
forループは、あるオブジェクトを巡回するために使用できます(巡回:一般的には、このループの最初の要素を最後の要素に順次アクセスします).
1、forリサイクルシナリオ操作を繰り返し実行し、サイクル数が既知である場合にforサイクルを使用することができます. すべてのforサイクルはwhileによって を実現することができる.
2、文法形式:
3、forループ操作例
forループは、文字列、メタグループ、リスト、コレクション、辞書、ファイルなど、数値以外のデータの基本タイプを巡回することができ、シーケンスインデックスで巡回することもできます.具体的な操作は以下の通りです.
1>forループ文字列
2>forループメタグループ
3>forループリスト
4>forループループコレクション
5>forループ辞書
6>ファイルの遍歴
7>forサイクル1~9乗算
8>これに加えて、シーケンスインデックスを使用して巡回することもできます.
rangeの使い方:range(5)-0から5まで5を含まないパラメータ(すなわち左を含むか右を含まない);range(5,15)-5から15まで15を含まない2つのパラメータ.range(5,55,5)-5から55までの3つのパラメータで、最後のパラメータ5はステップ長です.
次の例では、組み込み関数len()とrange()を使用し、関数len()はリストの長さ、すなわち要素の個数を返します.rangeは整数シーケンスを返します.
二、whileサイクル
whileループは,条件が満たされる限りループを続け,条件が満たされない場合にループを終了する.ここで、実行文は単一の文または文ブロックであってもよく、判断条件は任意の式であってもよく、ゼロでない値、またはnullでない値はtrueである.
1、文法形式:
2、while循環操作例:
1>1から100までの偶数和を求める
2>1~100までの3~5の倍数、3の倍数、5の倍数をすべて印刷
forサイクルとwhileサイクル、両者の同じ点はすべて繰り返しのことをすることができることです;異なる点は,forループはシーケンスが尽きたときに停止し,whileループは条件が成立しないときに停止することである.
三、入れ子循環
Python言語では、あるループに別のループを埋め込むことができます.for(while)サイクルネストfor(while)サイクルをfor(while)サイクルすることもできますし、whileサイクルにforサイクルを埋め込むこともできます.逆に、forサイクルにwhileサイクルを埋め込むこともできます.
1>forループネストforループ-九九乗算表を印刷
2>whileループネストwhileループ-九九乗算テーブルを印刷します(forループに比べてwhileループは面倒ですが、2つの結果は同じです)
文を繰り返します.サイクル数が既知である場合にforサイクルを使用し、すべてのforサイクルをwhileサイクルで実現することができる.
whileサイクル
与えられた判定条件がtrueの場合にループを実行し、そうでなければループを終了する.ループ回数が不明な場合はwhileループを使用します.
ネストされたループ
ループボディにネストされたループ.
一、forサイクル
forループは、あるオブジェクトを巡回するために使用できます(巡回:一般的には、このループの最初の要素を最後の要素に順次アクセスします).
1、forリサイクルシナリオ
2、文法形式:
for i in : #
3、forループ操作例
forループは、文字列、メタグループ、リスト、コレクション、辞書、ファイルなど、数値以外のデータの基本タイプを巡回することができ、シーケンスインデックスで巡回することもできます.具体的な操作は以下の通りです.
1>forループ文字列
str1='abc'
for i in str1:
print(i)
:
a
b
c
2>forループメタグループ
tup1=(31,29,31,30,31,30,31,31,30,31,30,31)
for i in tup1:
print(i,end=' ') #end=' '
:
31 29 31 30 31 30 31 31 30 31 30 31
3>forループリスト
Fruits=['apple','orange','banana','grape']
for fruit in Fruits:
print(fruit)
:
apple
orange
banana
grape
4>forループループコレクション
set1={'lisi',180,60,99}
for i in set1:
print(i)
:
lisi
99
180
60
5>forループ辞書
dict1={'name':'lisi','height':180,'weight':60,'score':99}
for k,v in dict1.items(): # dict1
print(k,'--->',v)
print('--------------')
for k in dict1.keys(): # dict1
print(k)
print('--------------')
for v in dict1.values(): # dict1
print(v)
:
name ---> lisi
height ---> 180
weight ---> 60
score ---> 99
--------------
name
height
weight
score
--------------
lisi
180
60
99
6>ファイルの遍歴
for content in open("1.txt"): # 1.txt
print(content)
:
, 。
, 。
7>forサイクル1~9乗算
sum = 1
for i in list(range(1,10)): #range
sum *= i
print("1*2...*10 =",sum)
:
1*2...*10 = 362880
8>これに加えて、シーケンスインデックスを使用して巡回することもできます.
rangeの使い方:range(5)-0から5まで5を含まないパラメータ(すなわち左を含むか右を含まない);range(5,15)-5から15まで15を含まない2つのパラメータ.range(5,55,5)-5から55までの3つのパラメータで、最後のパラメータ5はステップ長です.
次の例では、組み込み関数len()とrange()を使用し、関数len()はリストの長さ、すなわち要素の個数を返します.rangeは整数シーケンスを返します.
fruits = ['banana','apple','mango','grape']
for index in range(len(fruits)):
print(' :', fruits[index])
:
: banana
: apple
: mango
: grape
二、whileサイクル
whileループは,条件が満たされる限りループを続け,条件が満たされない場合にループを終了する.ここで、実行文は単一の文または文ブロックであってもよく、判断条件は任意の式であってもよく、ゼロでない値、またはnullでない値はtrueである.
1、文法形式:
while : # boolean
2、while循環操作例:
1>1から100までの偶数和を求める
n=1
sum=0
while n <= 100:
if n%2==0:
sum += n
n=n+1
print('1 100 :',sum)
:
1 100 : 2550
2>1~100までの3~5の倍数、3の倍数、5の倍数をすべて印刷
n=1
bei3_5=[]
bei3=[]
bei5=[]
while n<=100:
if (n%3==0)and(n%5==0):
bei3_5.append(n)
elif n%3==0:
bei3.append(n)
elif n%5==0:
bei5.append(n)
n=n+1
else: #while...else false else
print('1-100 3 5 :',bei3_5)
print('1-100 3 :',bei3)
print('1-100 5 :',bei5)
print(' ')
:
1-100 3 5 : [15, 30, 45, 60, 75, 90]
1-100 3 : [3, 6, 9, 12, 18, 21, 24, 27, 33, 36, 39, 42, 48, 51, 54, 57, 63, 66, 69, 72, 78, 81, 84, 87, 93, 96, 99]
1-100 5 : [5, 10, 20, 25, 35, 40, 50, 55, 65, 70, 80, 85, 95, 100]
forサイクルとwhileサイクル、両者の同じ点はすべて繰り返しのことをすることができることです;異なる点は,forループはシーケンスが尽きたときに停止し,whileループは条件が成立しないときに停止することである.
三、入れ子循環
Python言語では、あるループに別のループを埋め込むことができます.for(while)サイクルネストfor(while)サイクルをfor(while)サイクルすることもできますし、whileサイクルにforサイクルを埋め込むこともできます.逆に、forサイクルにwhileサイクルを埋め込むこともできます.
1>forループネストforループ-九九乗算表を印刷
for i in range(1,10):
for j in range(1,i+1):
print(j,'*',i,'=',(j*i),end='\t')
print()
2>whileループネストwhileループ-九九乗算テーブルを印刷します(forループに比べてwhileループは面倒ですが、2つの結果は同じです)
i=j=1
while i < 10:
while j <= i:
print(i,"*",j,"=",i*j,end='\t')
j+=1
print()
i+=1
j=1
:
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81