前回はループを回すfor文を学びました。
今回は同じようにループを回すwhile文を解説します。
while文とは?
プログラムでは、ある一定の条件を満たしている間はずっと繰り返し処理を行うということがよくあります。
その時に使うのがwhile文です。
Pythonのfor文は、決まった回数の処理を実行するのに向いていますが、ずっと繰り返し処理を行うというのには適していません。
while文の書き方
while文の書き方としては、whileの後に条件を記述します。
その次のブロックに実行したい命令を記述します。
条件がTrueの間はその命令をずっと繰り返し処理を行います。
例えば、分かりやすい以下のコードを見てみましょう。
#!/usr/bin/env python
#-*- coding: utf-8 -*-
def main():
while True:
print('Hello, World!')
if __name__ == '__main__':
main()
これを実行すると、永遠に「Hello, World!」と表示され無限ループになってしまいます。
無限ループにならないようにするためには以下のように書きます。
#!/usr/bin/env python
#-*- coding: utf-8 -*-
def main():
count = 0
while count < 10:
print('Hello, World!')
count += 1
if __name__ == '__main__':
main()
これを実行すると、以下のようにHello, World!が10回表示されストップします。
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
breakを使ったwhile文の書き方
for文のところで解説したbreakを使った書き方をすることもできます。
#!/usr/bin/env python
#-*- coding: utf-8 -*-
def main():
count = 0
while True:
print('Hello, World!')
count += 1
if count > 9:
break
if __name__ == '__main__':
main()
これも先ほどと同じようにHello, World!が10回表示されてストップします。
この書き方をすると、条件に関係なく必ず1回は命令を実行するループということになります。
CやJavaなどの別のプログラミング言語では、同じような処理をするためにdo ~ while文がありますが、Pythonにはありません。
最後に
while文を使うとある条件を満たすまでずっと繰り返すという処理を行うことができ、実際にプログラムを書き始めると、しょっちゅう使います。
今の段階では使い所が分からないと思いますが気にする必要はありません。
自分が作りたいプログラムを書いていくうちに必ずwhile文が必要になる場面が出てきますので、その時に考えながら使ってみて下さい。