条件文での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()