Python基礎チュートリアル(四):ループ文
Pythonループ文
この章では、Pythonのループ文について説明します.プログラムは一般的に順番に実行されます.
プログラミング言語は、より複雑な実行パスを可能にする様々な制御構造を提供します.
ループ文を使用すると、1つの文または文グループを複数回実行できます.次に、ほとんどのプログラミング言語のループ文の一般的な形式を示します.
Pythonはforループとwhileループを提供します(Pythonにはdo..whileループはありません):
ループタイプ
説明
whileサイクル
与えられた判定条件がtrueの場合にループを実行し、そうでなければループを終了する.
forサイクル
繰り返し実行文
ネストされたループ
whileサイクルでforサイクルをネストできます
ループ制御文
ループ制御文は、文の実行順序を変更します.Pythonでは、次のループ制御文がサポートされています.
せいぎょぶん
説明
break文
文ブロックの実行中にループを終了し、ループ全体から飛び出します.
continue文
文ブロックの実行中に現在のループを終了し、そのループから飛び出して次のループを実行します.
pass文
passは空の文であり,プログラム構造の整合性を保つためである.
Python Whileループ文
Pythonプログラミングでは、while文をループ実行プログラムに使用します.すなわち、ある条件下で、繰り返し処理が必要な同じタスクを処理するために、あるプログラムをループ実行します.基本形式は次のとおりです.
実行文は、単一の文または文ブロックであってもよい.判断条件は、ゼロ以外の値、またはnull以外の値がtrueである任意の式であってもよい.
条件偽falseを判断するとループは終了する.
実行フローチャートは次のとおりです.
例:
以上のコードは出力結果を実行します.
while文にはもう2つの重要なコマンドcontinueがあり、breakはループをスキップし、continueはこのループをスキップし、breakはループを終了するために使用され、また「判断条件」は定数値であり、ループが必ず成立することを示し、具体的な使い方は以下の通りである.
むげんループ
条件判定文が常にtrueの場合、ループは無限に実行されます.次の例です.
上記の例は、結果を出力します.
注意:以上の無限ループはCTRL+Cを使用してループを中断することができます.
else文のループ
pythonではfor...elseはこのような意味を表し、forの中の文は普通の文と変わらず、elseの中の文はループが正常に実行された(すなわちforはbreakジャンプで中断されたものではない)場合に実行され、while...elseも同じである.
上記の例の出力結果は次のとおりです.
単純文グループ
if文のような構文で、whileループに文が1つしかない場合は、whileと同じ行に文を書くことができます.以下に示します.
注意:以上の無限ループはCTRL+Cを使用してループを中断することができます.
Python forループ文
Python forループは、リストや文字列などの任意のシーケンスのアイテムを巡回することができます.
構文:
forループの構文フォーマットは次のとおりです.
フローチャート:
例:
上記の例は、結果を出力します.
シーケンスインデックス反復
もう1つのループを実行する方法は、次の例のようにインデックスによって行われます.
上記の例は、結果を出力します.
上記の例では、組み込み関数len()とrange()を使用し、関数len()はリストの長さ、すなわち要素の個数を返します.rangeはシーケンスの数を返します.
else文のループ
pythonではfor...elseはこのような意味を表し、forの中の文は普通の文と変わらず、elseの中の文はループが正常に実行された(すなわちforはbreakジャンプで中断されたものではない)場合に実行され、while...elseも同じである.
次の例を示します.
上記の例は、結果を出力します.
Pythonループネスト
Python言語では、あるループに別のループを埋め込むことができます.
Pythonforループネスト構文:
Pythonwhileループネスト構文:
whileサイクルにforサイクルを埋め込むなど、サイクル内に他のサイクルを埋め込むことができます.逆に、forサイクルにwhileサイクルを埋め込むことができます.
例:
次の例では、ネストされたループ出力2~100の素数を使用します.
上記の例は、結果を出力します.
Python break文
Python break文は、C言語のように、最小閉鎖forまたはwhileループを破った.
break文は、ループ文を終了するために使用されます.すなわち、ループ条件にFalse条件がないか、シーケンスが完全に再帰されていないか、ループ文の実行が停止します.
break文はwhileとforループで使用されます.
ネストされたループを使用すると、break文は最も深いループの実行を停止し、次の行のコードの実行を開始します.
Python言語break文構文:
フローチャート:
例:
上記の例の実行結果:
Python continue文
Python continue文は今回のループから飛び出し、breakはループ全体から飛び出します.
continue文は、Pythonに現在のループの残りの文をスキップし、次のループを継続するように伝えるために使用されます.
continue文はwhileとforループで使用されます.
Python言語continue文の構文フォーマットは次のとおりです.
フローチャート:
例:
上記の例の実行結果:
Python pass文
Python passは空の文であり,プログラム構造の整合性を保つためである.
passassは何もしないで、一般的に占位文として使われています.
Python言語pass文の構文フォーマットは次のとおりです.
例:
上記の例の実行結果:
この章では、Pythonのループ文について説明します.プログラムは一般的に順番に実行されます.
プログラミング言語は、より複雑な実行パスを可能にする様々な制御構造を提供します.
ループ文を使用すると、1つの文または文グループを複数回実行できます.次に、ほとんどのプログラミング言語のループ文の一般的な形式を示します.
Pythonはforループとwhileループを提供します(Pythonにはdo..whileループはありません):
ループタイプ
説明
whileサイクル
与えられた判定条件がtrueの場合にループを実行し、そうでなければループを終了する.
forサイクル
繰り返し実行文
ネストされたループ
whileサイクルでforサイクルをネストできます
ループ制御文
ループ制御文は、文の実行順序を変更します.Pythonでは、次のループ制御文がサポートされています.
せいぎょぶん
説明
break文
文ブロックの実行中にループを終了し、ループ全体から飛び出します.
continue文
文ブロックの実行中に現在のループを終了し、そのループから飛び出して次のループを実行します.
pass文
passは空の文であり,プログラム構造の整合性を保つためである.
Python Whileループ文
Pythonプログラミングでは、while文をループ実行プログラムに使用します.すなわち、ある条件下で、繰り返し処理が必要な同じタスクを処理するために、あるプログラムをループ実行します.基本形式は次のとおりです.
while :
……
実行文は、単一の文または文ブロックであってもよい.判断条件は、ゼロ以外の値、またはnull以外の値がtrueである任意の式であってもよい.
条件偽falseを判断するとループは終了する.
実行フローチャートは次のとおりです.
例:
#!/usr/bin/python
count = 0
while (count < 9):
print 'The count is:', count
count = count + 1
print "Good bye!"
以上のコードは出力結果を実行します.
The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!
while文にはもう2つの重要なコマンドcontinueがあり、breakはループをスキップし、continueはこのループをスキップし、breakはループを終了するために使用され、また「判断条件」は定数値であり、ループが必ず成立することを示し、具体的な使い方は以下の通りである.
# continue break
i = 1
while i < 10:
i += 1
if i%2 > 0: #
continue
print i # 2、4、6、8、10
i = 1
while 1: # 1
print i # 1~10
i += 1
if i > 10: # i 10
break
むげんループ
条件判定文が常にtrueの場合、ループは無限に実行されます.次の例です.
#!/usr/bin/python
# -*- coding: UTF-8 -*-
var = 1
while var == 1 : # true,
num = raw_input("Enter a number :")
print "You entered: ", num
print "Good bye!"
上記の例は、結果を出力します.
Enter a number :20
You entered: 20
Enter a number :29
You entered: 29
Enter a number :3
You entered: 3
Enter a number between :Traceback (most recent call last):
File "test.py", line 5, in <module>
num = raw_input("Enter a number :")
KeyboardInterrupt
注意:以上の無限ループはCTRL+Cを使用してループを中断することができます.
else文のループ
pythonではfor...elseはこのような意味を表し、forの中の文は普通の文と変わらず、elseの中の文はループが正常に実行された(すなわちforはbreakジャンプで中断されたものではない)場合に実行され、while...elseも同じである.
#!/usr/bin/python
count = 0
while count < 5:
print count, " is less than 5"
count = count + 1
else:
print count, " is not less than 5"
上記の例の出力結果は次のとおりです.
0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5
単純文グループ
if文のような構文で、whileループに文が1つしかない場合は、whileと同じ行に文を書くことができます.以下に示します.
#!/usr/bin/python
flag = 1
while (flag): print 'Given flag is really true!'
print "Good bye!"
注意:以上の無限ループはCTRL+Cを使用してループを中断することができます.
Python forループ文
Python forループは、リストや文字列などの任意のシーケンスのアイテムを巡回することができます.
構文:
forループの構文フォーマットは次のとおりです.
for iterating_var in sequence:
statements(s)
フローチャート:
例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for letter in 'Python': #
print ' :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: #
print ' :', fruit
print "Good bye!"
上記の例は、結果を出力します.
: P
: y
: t
: h
: o
: n
: banana
: apple
: mango
Good bye!
シーケンスインデックス反復
もう1つのループを実行する方法は、次の例のようにインデックスによって行われます.
#!/usr/bin/python
# -*- coding: UTF-8 -*-
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print ' :', fruits[index]
print "Good bye!"
上記の例は、結果を出力します.
: banana
: apple
: mango
Good bye!
上記の例では、組み込み関数len()とrange()を使用し、関数len()はリストの長さ、すなわち要素の個数を返します.rangeはシーケンスの数を返します.
else文のループ
pythonではfor...elseはこのような意味を表し、forの中の文は普通の文と変わらず、elseの中の文はループが正常に実行された(すなわちforはbreakジャンプで中断されたものではない)場合に実行され、while...elseも同じである.
次の例を示します.
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for num in range(10,20): # 10 20
for i in range(2,num): #
if num%i == 0: #
j=num/i #
print '%d %d * %d' % (num,i,j)
break #
else: # else
print num, ' '
上記の例は、結果を出力します.
10 2 * 5
11
12 2 * 6
13
14 2 * 7
15 3 * 5
16 2 * 8
17
18 2 * 9
19
Pythonループネスト
Python言語では、あるループに別のループを埋め込むことができます.
Pythonforループネスト構文:
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
Pythonwhileループネスト構文:
while expression:
while expression:
statement(s)
statement(s)
whileサイクルにforサイクルを埋め込むなど、サイクル内に他のサイクルを埋め込むことができます.逆に、forサイクルにwhileサイクルを埋め込むことができます.
例:
次の例では、ネストされたループ出力2~100の素数を使用します.
#!/usr/bin/python
# -*- coding: UTF-8 -*-
i = 2
while(i < 100):
j = 2
while(j <= (i/j)):
if not(i%j): break
j = j + 1
if (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!
Python break文
Python break文は、C言語のように、最小閉鎖forまたはwhileループを破った.
break文は、ループ文を終了するために使用されます.すなわち、ループ条件にFalse条件がないか、シーケンスが完全に再帰されていないか、ループ文の実行が停止します.
break文はwhileとforループで使用されます.
ネストされたループを使用すると、break文は最も深いループの実行を停止し、次の行のコードの実行を開始します.
Python言語break文構文:
break
フローチャート:
例:
#!/usr/bin/python
for letter in 'Python': # First Example
if letter == 'h':
break
print 'Current Letter :', letter
var = 10 # Second Example
while var > 0:
print 'Current variable value :', var
var = var -1
if var == 5:
break
print "Good bye!"
上記の例の実行結果:
Current Letter : P
Current Letter : y
Current Letter : t
Current variable value : 10
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
Good bye!
Python continue文
Python continue文は今回のループから飛び出し、breakはループ全体から飛び出します.
continue文は、Pythonに現在のループの残りの文をスキップし、次のループを継続するように伝えるために使用されます.
continue文はwhileとforループで使用されます.
Python言語continue文の構文フォーマットは次のとおりです.
continue
フローチャート:
例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for letter in 'Python': #
if letter == 'h':
continue
print ' :', letter
var = 10 #
while var > 0:
var = var -1
if var == 5:
continue
print ' :', var
print "Good bye!"
上記の例の実行結果:
: P
: y
: t
: o
: n
: 9
: 8
: 7
: 6
: 4
: 3
: 2
: 1
: 0
Good bye!
Python pass文
Python passは空の文であり,プログラム構造の整合性を保つためである.
passassは何もしないで、一般的に占位文として使われています.
Python言語pass文の構文フォーマットは次のとおりです.
pass
例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# Python
for letter in 'Python':
if letter == 'h':
pass
print ' pass '
print ' :', letter
print "Good bye!"
上記の例の実行結果:
: P
: y
: t
pass
: h
: o
: n
Good bye!
:http://www.runoob.com/python/python-tutorial.html