PythonログのPython制御フロー(シーケンス、ブランチ、ループ)


Python制御フロー:
すべてのプログラムはIDLEで実行されます
1.Pythonの3種類の制御フロー
(1).制御フローとは
Pythonではプログラムコードの実行は秩序があり、あるコードプログラムは上から倒れて順番に実行し、あるプログラムはジャンプして実行し、あるプログラムコードは異なる分岐を選択して実行し、あるプログラムコードは循環して実行する.では、いったいどのようなプログラムが上から下へ実行され、どのようなブランチ実行が選択され、どのようなループ実行が可能なのでしょうか.Pythonでは対応する制御文が識別されており、制御文はいくつかのコードセグメントの実行方法を制御することができ、これらの異なる機能の制御文を制御フローと呼ぶ.
(2).Pythonにはどのような制御フローがありますか?
#インスタンス:
#制御フロー機能
#実装するには:3つの同じプログラムを繰り返し実行する
#方式一:
i=0
print i
i=i+1
print i
i=0
print i
i=i+1
print i
i=0
print i
i=i+1
print i

トップダウン運転
#方式2:
for k in range(0,3): #    
    i=0
    print i
    i=i+1
    print i

#出力結果:
0
1
0
1
0
1

例えば、明ちゃんがご飯を食べたら、出力明ちゃんはいい子だ.もし明ちゃんがご飯を食べなかったら、出力明ちゃんはいい子ではない機能を実現しなければならない.
#通常の手順で実行すると、このような機能は実現できません.制御フローの分岐構造を使用できます.
xiaoming="eat"
if xiaoming=="eat":
    print "    "
else:
    print "    "

#出力結果:
明ちゃんはいい子だ
#制御フローのタイプ
#制御フローのタイプは3種類あり、1つは順序構造、1つは分岐構造、1つは循環構造である
#シーケンス構造:
a=7
print a
a=a-1
print a
a=a+6
print a

#出力結果:
7
6
12

#分岐構造:
a=7
if a==8:
    print "She"
else:
    print "He"

#出力結果:
He

#ループ構造:
a=7 #  0   
while a:  # a       
    print "helloo"
    a=a-1 #a=0     

#出力結果:
helloo
helloo
helloo
helloo
helloo
helloo
helloo

2.分岐構造認識-if
(1).認識if文
Pythonのif文は、その文ブロックを実行する選択を判断するために使用されます.次に、if文をインスタンスで認識します.
#インスタンス:
#if文
#if文のフォーマットの使い方:
ifはこうです.
文の一部を実行
  
Elifまたはこうです.
elifセクション文の実行
elseまたは上記の状況は次のとおりではありません.
文の一部を実行
(2).if文の使用例:
#場合ifの使い方
a=8
if a==8:                         #        ==
    print "hello"

#出力結果:
hello
a=8
if a!=8:
    print "hehe"

#出力結果:
>>>
>>>

実行しない
#2つの選択の場合のifの使い方
a=8
if a==8:
    print "She"
else:
    print "He"

#出力結果:
She

#3つの選択の場合のifの使い方
a=5
if a==7:
    print "I"
elif a>7:
    print "he"
elif a<6:
    print "hello"
else:
    print "she"

#出力結果:
hello

#if文の使用要点
ポイント:各ブランチはできるだけ繰り返さず、可能性を含めて
'''
例えば私たちは成績の高低によって優良差に分けなければならない.例えば、このように分けた条件は比較的合理的な0<=成績<80が差で、80<=成績<90が良で、
90<=成績<=100が優れている.
このような区分の条件は不合理である:0<成績<80は差であり、80<=成績<90は良であり、90<=成績<100である.例えば、1人の成績が0点、100点、80点、90点という臨界条件では、どの文を実行するか判断できません.
'''
臨界点が重複しない
a=80
if 80<a<=100:
    print " "
elif 0<a<=80:
    print " "

   
#出力結果:
 

3.循環構造を認識するwhile
(1).while文とは
Pythonのwhile文も、文の繰り返し実行を制御するために使用されます.
#while文使用構造{{whileぶんしよう:こうぞう}}
'''
while条件は真:
条件が真を満たさないまで、文の一部をループします.
else:
条件が偽の場合は、文の一部を実行します.
#else部分は省略可能
'''
(2).while文の使用
#2つの簡単なwhile文のインスタンス
最初はelse部分がないのが一番簡単です
a=True
while a:
    print "ABC"

#出力結果:
   ABC

2つ目はelse部分があります
b=False
while b:
    print "ABC"#    ,      
else:
    print "DEF"#else     ,        

#出力結果:
DEF

  
もっと複雑なネストされたwhile文を見てみましょう
a=1
while a<10:
    if a<=5:    #    ,  if    
        print a
    else:
        print "hello"
    a=a+1       #    ,  if    
else:
    print "test"

#出力結果:
1
2
3
4
5
hello
hello
hello
hello
test

まとめ:インデント位置を利用して前後の一致性を判断することができ,上に現れた2つのelseの位置が異なり,対応する構造も異なる.
4.ループ構造を認識するfor文
(1).for文とは
別の形式のループ文は、オブジェクトを巡回するために使用され、for文に含まれるbreak文を処理するために主に使用されるオプションのelseブロックも付属しています.forループがbreakによって終了しない場合、elseブロックの文が実行されます.
breakは必要に応じてforループを終了し、continueはその後の文をスキップして次のループを開始します.
for文のフォーマットは次のとおりです.
>>>forin<オブジェクトセット>:
if<条件>:
           (break)
if<条件>:
           (continue)
<その他の文>
   else:
       <>
(2).for文の使用
#for文
'''
for文フォーマット:
for i inコレクション:
このセクションの実行
else:
このセクションの実行
'''
#インスタンス:
#最初のfor文
for i in [1,2,8,9,0]:
    print i

#出力結果:
1
2
8
9
0

#range関数、2番目のfor文を使用して、集合シーケンスを生成し、最初から最後まで
for i in range(1,7):  #range     1 n-1,     
    print "hello"

#出力結果:
7個ではなく6個のhello
for i in range(1,10,3):#(1,10,3) 1 10,3   ,        ,   1
    print  i           #   1,4,7,     

#出力結果:
1
4
7

最後にネストされたfor文を見てください
for i in range(1,10):#  9 
    if i%2==0:
        print i
        print "  "
    else:
        print i
        print "  "

#出力結果:
1
  
2
  
3
  
4
  
5
  
6
  
7
  
8
  
9
  

5.Break文
機能:プログラムの実行を破って、常用語の循環構造、循環構造の中でbreakが現れる時強制的に停止して循環を中止して、それから循環を退出します
(1).Break文の使用
#break文の使い方
break文はループ実行を強制的に停止するという意味で、break文はループ文で使用され、breakが現れた場所で直接ループ実行を停止します.
#break文whileループで使用
a=1
while a:
    print a
    a=a+1    #   
    if a==10:
        break  #  break         

#出力結果:
1から9まで、a=9のときbreak
#break文forループ
for i in range(5,9):
    print i
    if i>6:
        break#   break     ,          ,     

#出力結果:
5,6
#break文2層ループ文
a=10
while a<=12:            #   
    a=a+1
    for i in range(1,7):
        print i         #   
        if i==5:
            break

#出力結果:
内循環は外循環によって3回繰り返される:a=10,a=11,a=12
i:1,2,3,4,5を3回繰り返す
a=10
while a<=12:
    a=a+1
    for i in range(1,7):
        print i
        if i==5:
            break
    if a==11:#a=11    
        break

#出力結果:
1
2
3
4
5

6.continue文
(1).continue文とは
今回のループを強引に止めた今回の実行は、そのまま次へ、つまり今回を止めて次へ
Breakが直接停止した後のすべてのサイクルとは異なります
(2).continue文の使用方法
#continue文の使用
'''
continue文は、今回のループを終了するためのループ文に配置されます.
'''
#continue文whileループ
#まず、ループが複数回に分かれていることを知っておく必要があります.continue文は、ループを終了するのではなく、ループを終了します.
a=1
while a<7:
    a=a+1
    if a==3:
        continue
    print a

#出力結果:
2
4
5
6

#continue文forループで、次の2つのプログラムaとプログラムbを比較する
#プログラムa
for i in range(1,7):
    if i==3:
        continue
    print i

#出力結果:
1
2
4
5
6

#プログラムb
for i in range(1,7):
    print i
    if i==3:
        continue

#出力結果:
1
2
3
4
5
6

#continue文2層ループ文
a=1
while a<7:
    a=a+1
    if a==4:   #a=1,a=2,a=3,a=5,a=6
        continue 
    for i in range(7,10):
        if i==9:
            continue
        print i

#出力結果:
出力5回7,8
(3).Break文とContinue文の違い
#continue文とbreak文の違い
'''
continue文とは、今回のループの残りの文の実行を終了し、次のループを継続することを意味します.
break文は、このループを直接終了することを意味し、ループを実行する残りのすべてのループを終了することを含む.
'''
#プログラムcとプログラムdを区別する
#プログラムc
for i in range(10,19):
    if i==15:
        continue
    print i

#出力結果:
10,11,12,13,14,16,17,18
#プログラムd
for i in range(10,19):
    if i==15:
        break
    print i

#出力結果:
10,11,12,13,14,15