ホームページ > バックエンド開発 > Python チュートリアル > Python フロー制御ステートメントのメソッド

Python フロー制御ステートメントのメソッド

高洛峰
リリース: 2017-03-23 17:31:36
オリジナル
1591 人が閲覧しました

人生は常に複数の選択肢を選ぶプロセスだとよく言われます。選択の余地がなく、進むべき道が 1 つしかない人もいれば、2 つのうちの 1 つを選択できる人もいます。選択肢はたくさんありますが、人生の混乱期に、自分の方向性を見つけることができず、ぐるぐるとさまよってしまう人もいます。神を信じる者にとって、それはあたかも神が私たちの人生の道筋を事前に計画しているかのようであり、また神が唐曾の師と弟子に神と神の支配を学ぶために多くの困難を事前に設定しているかのようです。すべて。プログラミング言語は人間の生活のあらゆる側面をシミュレートできます。プログラマーは、プログラミング言語の特別なキーワードを通じてプログラムの実行プロセスを制御できます。これらのキーワードは フロー制御 ステートメントを構成します。
プログラミング言語のフロー制御ステートメントは、次のカテゴリに分類されます:
シーケンシャルステートメント
分岐ステートメント
ループステートメント
このうち、シーケンシャルステートメントは制御に別個のキーワードを必要とせず、行ごとに実行されます。特別イラスト。ここで説明する主な内容は、分岐ステートメントとループ ステートメントです。
1. 分岐文
条件分岐文は、1つ以上の文(判定条件)の実行結果(True/False)に基づいて、どの分岐を実行するかを決定するコードブロックです。 Python で提供される分岐ステートメントは、if..else ステートメントであり、switch..case ステートメントは提供されません。 if..else ステートメントの形式は次のとおりです。
単一分岐:
if 判定条件:
コードブロック
単一分岐ステートメントのコードブロックにステートメントが 1 つだけある場合は、if ステートメントとコードを同じ上に記述できます。行:
if判定条件:コード一文
例:指定されたuidがrootユーザーかどうか判定

uid = 0
if uid == 0:
  print("root")
ログイン後にコピー


次のように書くこともできます:

uid = 0
if uid == 0: print("root")
ログイン後にコピー


出力結果:root
二重分岐:
if 判定条件:
コードブロック
else:
コードブロック
例: ユーザー ID に基づいてユーザー ID を出力

uid = 100
if uid == 0:
  print("root")
else:
  print("Common user")
ログイン後にコピー


出力結果: 共通ユーザー
複数分岐:
if 判定条件 1:
コードブロック 1
elif判定条件2:
コードブロック2
...
elif 判定条件 n:
コードブロック n
else:
デフォルトのコードブロック
例: 生徒の成績に基づいて文字成績を印刷

score = 88.8
level = int(score % 10)
if level >= 10:
  print('Level A+')
elif level == 9:
  print('Level A')
elif level == 8:
  print('Level B')
elif level == 7:
  print('Level C')
elif level == 6:
  print('Level D')
else:
  print('Level E')
ログイン後にコピー


出力結果: レベルB
解説:
上記の「判定条件」の式は、任意の式または任意のタイプのデータオブジェクトインスタンスにすることができます。判定条件の最終的な戻り結果の「true」値が True であれば、条件が成立し、対応するコード ブロックが実行されます。それ以外の場合は、条件が成立せず、次の処理が行われることを意味します。状態を判断する必要があります。
2. ループステートメント
コードステートメントまたはコードブロックを複数回実行する必要がある場合、ループステートメントを使用できます。 Python で提供されるループ ステートメントは、while ループfor ループ です。 Python には do..while ループがないことに注意してください。さらに、ループ実行プロセスを制御するために使用されるいくつかのループ制御ステートメント (breakContinue、および pass) があります。
1. whileループ
基本形式
whileループ文の基本形式は以下の通りです:
while判定条件:
コードブロック
与えられた戻り値の真偽判定結果が得られた場合にループ本体を実行するコードです。判定条件が True の場合、それ以外の場合はループ本体を終了します。
例: 0-9の数字をループ印刷する

count = 0
while count <= 9:
  print(count, end=&#39; &#39;)
  count += 1
ログイン後にコピー


出力結果: 0 1 2 3 4 5 6 7 8 9
while無限ループ
whileの判定条件が常にTrueの場合、whileループ本体のコードがループします永遠に下がってください。
while True:
print("これは無限ループです")
出力結果:
これは無限ループです
これは無限ループです
これは無限ループです
...
これはCtrl + Cで終了できます走る。
while..else
文形式:
while 判定条件:
コードブロック
else:
コードブロック
else while ループが正常に実行されると、else のコードブロックが実行されます。それ以外の場合、コード ブロックは実行されません。
例1: whileループが正常終了(elseの文が実行される)

count = 0
while count <=9:
  print(count, end=&#39; &#39;)
  count += 1
else:
  print(&#39;end&#39;)
ログイン後にコピー


実行結果: 0 1 2 3 4 5 6 7 8 9 end
例2: whileループが中断される(else文が実行される) else は実行されません)

count = 0
while count <=9:
  print(count, end=&#39; &#39;)
  if count == 5:
    break
  count += 1
else:
  print(&#39;end&#39;)
ログイン後にコピー


输出结果:0 1 2 3 4 5
2. for循环
for循环通常用于遍历序列(如list、tuple、range、str)、集合(如 set)和映射对象(如dict)。
基本形式
for循环的基本格式:
for 临时变量 in 可迭代对象:
代码块
实例:遍历打印一个list中的元素

names = [&#39;Tom&#39;, &#39;Peter&#39;, &#39;Jerry&#39;, &#39;Jack&#39;]
for name in names:
  print(name)
ログイン後にコピー


对于序列,也通过索引进行迭代:

names = [&#39;Tom&#39;, &#39;Peter&#39;, &#39;Jerry&#39;, &#39;Jack&#39;]
for i in range(len(names)):
  print(names[i])
ログイン後にコピー


执行结果:
Tom
Peter
Jerry
Jack
for...else
与while..else基本一致,不再赘述。
3. 循环控制语句
循环控制语句可以更改循环体中程序的执行过程,如中断循环、跳过本次循环。
循环控制语句 说明
break 终止整个循环
contine 跳过本次循环,执行下一次循环
pass pass语句是个空语句,只是为了保持程序结构的完整性,没有什么特殊含义。pass语句并不是只能用于循环语句中,也可以用于分支语句中。
实例1:遍历0-9范围内的所有数字,并通过循环控制语句打印出其中的奇数

for i in range(10):
  if i % 2 == 0:
    continue
  print(i, end=&#39; &#39;)
ログイン後にコピー


输出结果:1 3 5 7 9
实例2:通过循环控制语句打印一个列表中的前3个元素

names = [&#39;Tom&#39;, &#39;Peter&#39;, &#39;Jerry&#39;, &#39;Jack&#39;, &#39;Lilly&#39;]
for i in range(len(names)):
  if i >= 3:
    break
  print(names[i])
ログイン後にコピー


输出结果:
Tom
Peter
Jerry
4. 循环嵌套
循环嵌套是指:在一个循环体里面嵌入另一循环。
实例1:通过while循环打印99乘法表

j = 1
while j <= 9:
  i = 1
  while i <= j:
    print('%d*%d=%d' % (i, j, i*j), end='\t')
    i += 1
  print()
  j += 1
ログイン後にコピー


实例2:通过for循环打印99乘法表

for j in range(1, 10):
  for i in range(1, j+1):
    print('%d*%d=%d' % (i, j, i*j), end='\t')
    i += 1
  print()
  j += 1
ログイン後にコピー


输出结果:
1*1=1  
1*2=2   2*2=4  
1*3=3   2*3=6   3*3=9  
1*4=4   2*4=8   3*4=12  4*4=16  
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81

以上がPython フロー制御ステートメントのメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート