Differences between revisions 8 and 9
Revision 8 as of 2018-10-01 21:38:07
Size: 2334
Comment:
Revision 9 as of 2018-10-02 02:09:39
Size: 2750
Comment:
Deletions are marked like this. Additions are marked like this.
Line 126: Line 126:
 * 詳細は,Break文に関するセクションで...  * 詳細は,[[Python/Lang/ControlStructure/Loop/BreakStatement|Break文に関するセクション|target="_blank"]]で...
Line 148: Line 148:
 * キーボードから

{{{#!highlight python
while True:
    print( "X(半角大文字のエックス)が入力されるまで,キーボードからの入力を繰り返す" )
    data_string = input(">>> ")
    if data_string == "X":
        break
    print( "入力[" + data_string + "]に対して何か処理をします" )
}}}


制御構造:条件が成立している間の反復:While

概要

[ edit ]

  • 条件~が成立している間,繰り返す
    • while は「~のあいだ」を意味する

文法

[edit]

   1 "while" <<条件式expression>> ":"
   2     <<ブロックsuite>>
   3          ...
   4 ["else:"
   5     <<ブロックsuite>>
   6          ...]

いろいろな使い方

カウントアップ

  • 制御変数nでカウントする

   1 n = 0
   2 while n < 10:
   3     print( n )
   4     n += 1

0
1
2
3
4
5
6
7
8
9
  • 同等なfor文

   1 for n in range(10):
   2     print( n )

0
1
2
3
4
5
6
7
8
9

カウントダウン

  • 制御変数nでカウントする

   1 n = 10
   2 while n > 0:
   3     print(n)
   4     n -= 1

10
9
8
7
6
5
4
3
2
1
  • 同等なfor文

   1 for n in range( 10, 0, -1): 
   2     print(n)

10
9
8
7
6
5
4
3
2
1

無限ループを作って,breakでループ脱出する

[edit]

   1 n = 0
   2 while True:
   3     print( n )
   4     if n >= 7:
   5         break
   6     n += 1

0
1
2
3
4
5
6
7
  • キーボードから

   1 while True:
   2     print( "X(半角大文字のエックス)が入力されるまで,キーボードからの入力を繰り返す" )
   3     data_string = input(">>> ")
   4     if data_string == "X":
   5         break
   6     print( "入力[" + data_string + "]に対して何か処理をします" )

else節

[edit]

  • else節 がある場合は,ループの最後に else節を実行する

   1 n = 0
   2 while n < 10:
   3     print( n )
   4     n += 1
   5 else:
   6     print( "無事,終了しました" )

0
1
2
3
4
5
6
7
8
9
無事,終了しました
  • breakした場合は,else節は実行されない

   1 n = 0
   2 while n < 10:
   3     print( n )
   4     if n == 5:
   5         break
   6     n += 1
   7 else:
   8     print( "無事,終了しました" )

0
1
2
3
4
5

SoftEng: Python/Lang/ControlStructure/Loop/WhileStatement/Contents (last edited 2018-10-04 05:30:33 by TadashiIijima)