2018-07-19 pythonループ文
3651 ワード
ループの概念は、プロシージャを繰り返し実行する必要があり、ループを使用することができます.
pythonのループにはforループとwhileループがあります
1.forサイクル
変数名:変数を宣言するときの変数名の要件と同じで、機能は値in:キーワードを格納し、..コンテナタイプのデータ.文字列、リスト、辞書、元祖、コレクションなどのループ:繰り返し実行されるコードブロック
実行プロセス:変数を使用してシーケンスからデータを取り出し、1つずつ取り、取り終わるまで.値を1つとるごとに、順次循環体を実行します
結果:a!b ! 1 ! 2 !
2.range関数
xrangeはpython 2.xの関数で、python 3.xではrange関数を使用して置き換えられます.
range機能は、指定された範囲の数値シーケンスを生成します.一般的にforサイクルで用いられ,サイクル回数を制御する.またはインデックス値を生成
range(n):0~n-1を生成する整数シーケンスrange(m,n):m~n-1を生成する整数シーケンスrange(m,n,step):mからstepを加えるたびにnの前まで次の数字が生成される
例:range(10):0,1,2,3,4,5,6,7,8,9の数字を生成
range(0,10,2):生成数:0,2,4,6,8
例:計算1+2+3+...+100
例:1つのループのみを使用
1.計算1 x 2 x 3 x..x 10 2.計算2 x 4 x 6 x...x 10
例2:文字列「abcdef」があり、文字列の偶数ビット(下付き値は偶数)上の文字を順次取り出す
2.whileサイクル
while:キーワード条件文:結果はTrue、またはFalseループ:繰り返し実行されるコードセグメント
実行プロセス:条件文がTrueであるかどうかを判断し、Trueである場合はループを実行します.ループを実行し、条件文がTrueであるか否かを判断し、Trueであればループを実行する....条件文の値がFalseになるまでループが終了し、whileループの後の文を直接実行する
注意:条件文の結果が常にTrueの場合、デッドループが発生します.循環体には循環を終了させる操作が必要です
ps:pythonにdo-whileループはありません
例:whileサイクルを用いて1+2+3+...+100を計算する
例:計算2+4+6+...100
3.breakとcontinue
breakとcontinueの2つのキーワードは,いずれも役割ドメインループの中でループを終了するために用いられる.
continue:キーワードは、循環体の中でcontinueに遭遇すると、そのループを終了し、そのまま次のループに入る判断(forループであれば変数に次の値を取りに行かせる.whileループであればwhileの後の条件文がTrueであるか否かを判断する)
結果:0 1 2 3 4
結果:0!!!!
適用:
条件文の値を変更してループを終了
breakを使用してデッドサイクルを終了
例:100-1000以内で最初に3で割り切れると同時に17で割り切れる数を探し出す
3.forとwhileの選択
forサイクルのサイクル数は決定され、whiteサイクルのサイクル数は不確定であってもよい
1.サイクル数が不確定な場合はwhileサイクルを選択します.回数決定は一般的にforループを用いる2.1つのシーケンスの値をループすることにより、forループを用いる
pythonのループにはforループとwhileループがあります
1.forサイクル
#
for in :
for:
変数名:変数を宣言するときの変数名の要件と同じで、機能は値in:キーワードを格納し、..コンテナタイプのデータ.文字列、リスト、辞書、元祖、コレクションなどのループ:繰り返し実行されるコードブロック
実行プロセス:変数を使用してシーケンスからデータを取り出し、1つずつ取り、取り終わるまで.値を1つとるごとに、順次循環体を実行します
for char in 'ab12':
print(char)
print('!')
結果:a!b ! 1 ! 2 !
2.range関数
xrangeはpython 2.xの関数で、python 3.xではrange関数を使用して置き換えられます.
range機能は、指定された範囲の数値シーケンスを生成します.一般的にforサイクルで用いられ,サイクル回数を制御する.またはインデックス値を生成
range(n):0~n-1を生成する整数シーケンスrange(m,n):m~n-1を生成する整数シーケンスrange(m,n,step):mからstepを加えるたびにnの前まで次の数字が生成される
例:range(10):0,1,2,3,4,5,6,7,8,9の数字を生成
for x in range(10):
print(x)
print('=======')
# range(10,20): :10~19
for x in range(10,20):
print(x)
range(0,10,2):生成数:0,2,4,6,8
for x in range(0,10,2):
print(x)
例:計算1+2+3+...+100
sum1 = 0 #
for x in range(1,101):
sum1 += x
print(sum1)
例:1つのループのみを使用
1.計算1 x 2 x 3 x..x 10 2.計算2 x 4 x 6 x...x 10
mul1 = 1 #
mul2 = 1
# 1-10
for x in range(1,11):
mul1 *= x # mul1 = mul1*x
# x
if x % 2 == 0:
mul2 *= x
print(mul1)
print(mul2)
例2:文字列「abcdef」があり、文字列の偶数ビット(下付き値は偶数)上の文字を順次取り出す
str1 = 'abcdef'
# :
#
# index = 0,2,4
for index in range(0,len(str1),2):
print(str1[index])
# :
#
for index in range(0,len(str1)):
#
if index % 2 == 0:
print(str1[index])
# :
index = 0
for char in str1:
if index % 2 ==0:
print(char)
index += 1
2.whileサイクル
# :
while :
while:キーワード条件文:結果はTrue、またはFalseループ:繰り返し実行されるコードセグメント
実行プロセス:条件文がTrueであるかどうかを判断し、Trueである場合はループを実行します.ループを実行し、条件文がTrueであるか否かを判断し、Trueであればループを実行する....条件文の値がFalseになるまでループが終了し、whileループの後の文を直接実行する
注意:条件文の結果が常にTrueの場合、デッドループが発生します.循環体には循環を終了させる操作が必要です
ps:pythonにdo-whileループはありません
例:whileサイクルを用いて1+2+3+...+100を計算する
number = 1 # 1-100
sum1 = 0 #
while number <= 100:
print(number)
sum1 += number
# number 1
number += 1
print(sum1)
例:計算2+4+6+...100
number = 2
sum2 = 0
while number <= 100:
sum2 += number
number += 2
print(sum2,number)
3.breakとcontinue
breakとcontinueの2つのキーワードは,いずれも役割ドメインループの中でループを終了するために用いられる.
continue:キーワードは、循環体の中でcontinueに遭遇すると、そのループを終了し、そのまま次のループに入る判断(forループであれば変数に次の値を取りに行かせる.whileループであればwhileの後の条件文がTrueであるか否かを判断する)
#
for x in range(5):
print(x)
continue # continue , x
print('====')
結果:0 1 2 3 4
# :
for x in range(10):
print(x)
break
print('======')
print('!!!!')
結果:0!!!!
適用:
条件文の値を変更してループを終了
numer = 1
while numer <= 100:
print(numer)
numer += 1
breakを使用してデッドサイクルを終了
numer = 1
while True:
if numer > 100:
break
print('==:',numer)
numer += 1
例:100-1000以内で最初に3で割り切れると同時に17で割り切れる数を探し出す
for x in range(100,1001):
if x%3==0 and x%17==0:
print(x)
#
break
3.forとwhileの選択
forサイクルのサイクル数は決定され、whiteサイクルのサイクル数は不確定であってもよい
1.サイクル数が不確定な場合はwhileサイクルを選択します.回数決定は一般的にforループを用いる2.1つのシーケンスの値をループすることにより、forループを用いる