Pythonの条件文、ループ文、反復や発電機に注意してください。

条件文でのPythonのこのセグメント、ループ文、イテレータとジェネレータ。

1、条件文

Pythonの条件文であれば......のelif ......他のフォーマット

。1 NUM = INT(INPUT(" あなたのスコアを入力してください:' ))
 2  IF NUM> 85 3      の印刷' 優秀'#のインデントはチャンクに分割
。4  のelif 85> NUM => 70 5      印刷' 良い' 6。 のelif 70> NUM => 60 = 。7      印刷' 失敗' 8。 。9      印刷' 失敗"

Pythonは切り替わらない - case文

図2に示すように、ループ

whileループ

1 NUM 5 =
 2  一方(NUM> 2):  whileループ
3。     プリント(NUM)
 4。      NUM - = 1。
 5。 
6。 NUM = 5。
 7。 一方(NUM> 2): ループ...... ......そう一方、条件一方偽elseステートメントを実行するときに
8。      NUM - = 1。
 9。     プリント(NUM)
 10  他の11。     プリント" 他:D%"%のNUM)を

......、無限ループがあるときに終了するには、Ctrl + Cを使用することができますしながら、Pythonは......行いません。

そのような辞書、文字列、リストなどのオブジェクトをループするための、任意の配列月ループ

1 NUM = 5。
 2   I における [1,2,3,4,5,7 ]
 。3      プリント(I)
 4。 
5。  0009 = 'cainiaoxuexi' 
6。 0009 = ' A ' 
7。 ための I STR1:
 8      IF I == ' X ' 。9          印刷' ループから抜け出す' 10          BREAK      ブレークサイクル全体アウト
。11      印刷(I)
 12は、 何のブレークサイクルが存在しない場合は、他のエンドが行う
13のある     印刷なしループ14  印刷ループ終了
1つの = 0009 ' AXV ' 
2   I STR1:
 3      IF I == ' X ' 4は         続行  サイクルの終了を
5。     印刷(I)
 6。 なしブレークサイクルが存在しない場合は、他のエンドを実行
7      印刷体なし。8  印刷サイクルの終わり

ブレーク  ステートメントは、しばらくの間、ループの外にジャンプすることができます。あなたが抜け出すか、whileループのためならば、任意の対応するループelseブロックは実行されません。

継続  文はPythonが現在のループブロック内の残りのステートメントをスキップして、次のサイクルに進む伝えるために使用されます。

数字のシーケンスを生成するための範囲()関数

1   I における範囲(100,120,5):  、開始、終了、ステップ長さを指定することができ、工程が負であってもよい
2      プリント(I)
 3。 
4。 ための I における範囲(-100、-120、-5)。   #は、開始、終了、ステップ長さを指定することができ、ステップの長さは負であることができる
。5      プリント(I)

3、イテレータとジェネレータ

反復子はサイクル内のオブジェクトの位置を覚えることができ、それはすべての要素が、セッションが終わってアクセスされるまで、コレクションの最初のアクセス要素から出発して、要素の集合にアクセスするための方法です。イテレータは、前方、後方ではない移動することができます。

:イテレータは、2つの基本的な方法があるITER()  と  次の()

文字列、リスト、タプルまたはオブジェクトは、イテレータを作成するために使用することができます。

1  インポートSYS
 2  
3。のList1 = [1,2,3,4,5,6,7,8 ]
 4。 ITは= ITER(リスト1)を
 5。 プリント(型(IT)) は、オブジェクトのリスト立ち下がりである
6。 ながらTRUE:
 7      試し8          印刷(次(IT))
 9。     を除いて呼び出すとStopIteration:
 10          sys.exit()

イテレータクラス)(__クラス__iter __()と__nextに2つのメソッドを実装する必要性を作成します 

1  クラスMyNumber():
 2      DEF  __iter__ (自己):#__ ITER __()メソッドは、特別なイテレータオブジェクトを返す
 3。          self.aを= 1。
 4。         リターン自己
 5。 
6。     DEFの __next__ (自己):
 7          IF self.a <= 20 8は、              X = self.a
 9。              self.a. 1 = +
 10              リターンX
 11。         12である             レイズ呼び出すとStopIteration
 13は 
14  
15のMyClass = MyNumber()
 16 myiter = ITER(MyClassの)
17  
18  のために X myiter:
 19      プリント(X)

ジェネレータ

Pythonでは、関数発生器を使用して収率(発電機)と呼ばれます。

差は通常の関数と、ジェネレータはリターンイテレータ機能だけ反復操作に使用することができるということである、より簡単に理解ジェネレータはイテレータです。

呼ジェネレータが動作している間に、各遭遇収率機能が一時停止して保存現在の動作情報、収率の戻り値、及び(次の次の実行の全て)は、その現在位置方式で動作し続けます。

ジェネレータ関数を呼び出すと、それはイテレータオブジェクトを返します。

1  インポートSYS
 2  
3。 
4。 DEFフィボナッチ(N):   #1 ジェネレータ関数-フィボナッチ
。5      A、B、カウンタ= 0 ,. 1 、0
 。6      ながらTRUE:
 7          IF(カウンタ> N-):
 8。             復帰
9。         収量A
 10          Aは、B = B + B
 。11          。カウンタ+ 1 =
 12である 
13である 
14 F =フィボナッチ(10)  Fは戻りジェネレータによって生成されたことがイテレータである
15  
16  ながらTRUE:
 17      トライ18である         印刷(次の(f)は、端= "  " 19      を除いて呼び出すとStopIteration:
 20          sys.exit()

おすすめ

転載: www.cnblogs.com/heertong/p/12104748.html