【簡単】Pythonのwhile文をマスター|基本・応用・実例付

Python

(最終更新月:2022年11月)

✔当記事はこのような方に向けて書かれています

「whileを使うと何ができるのだろうか?」

「whileの使い方が知りたい」

「whilleを使った実例ってあるのかな?」

✔当記事を通じてお伝えすること

  • whileについて
  • whileの書き方
  • whileの実例

当記事では、whileの基本的な使い方だけでなく、whileを使ったアプリのコード例までご覧いただけます

ぜひ最後までご覧ください。

profile_icon

【Python歴】10年 x 【営業マン歴】11年

HP作成、社内システムの構築、コンサルティング

Pythonベースのフレームワーク 「Django」を使って下記のようなサイトを作っています!

日報アプリ
当ブログで一から開発方法を解説している日報アプリ(デモ版)です
ツールアプリ
当ブログで紹介したPythonアプリのWeb版です。DjangoAPIとReactで開発。随時更新中です。

icon
icon

Pythonのwhileについて知っておくべきこと3選

こちらでは、Pythonのwhileについての基本的なことを解説していきます。

  • whileの基本構成
  • whileの仕組み
  • whileが止まらなくなったら

whileの基本構成

whileの基本構成は以下のとおり。

while 条件:
    条件が真のときの処理
  上に続く...

ここでいう条件とは、if文のあとに続ける「True」「False」で判断できるもの。

例えば、「num == 1」など。

条件がTrueであるときのみ、while内の処理をおこないます

whileの仕組み

whileの仕組みを見ていきます。

以下のコードをご覧ください。

>>> while num < 3:
...     print(num)
...     num += 1
... 
0
1
2

コードの解説です。

  1. 【while num < 3:】numが3より少ないときのみ以下の処理をおこなう
  2. 【print(num)】numをprintする
  3. 【num += 1】numをひとつ増やす

whileが止まらなくなったときの対処法

whileが止まらなくなったときの対処法をお伝えします。

以下2種類のツールにおける方法です。

ターミナル

ターミナルで処理を止められない場合は、以下のキーを押します。

Ctrl + C

>>> import time
>>> while True:
...     print("keep on running...")
...     time.sleep(1)
... 
keep on running...
keep on running...
keep on running...
keep on running...
keep on running...
^CTraceback (most recent call last):
  File "<stdin>", line 3, in <module>
KeyboardInterrupt

jupyter notebook

jupyter notebookでは、以下をクリックします。

whileを使いこなすための方法2選

whileの応用として、以下の2点についても知っておきましょう。

  • while…else文
  • breakの活用

whileでできることの幅が広がります。

while…else文

else以下の処理は、条件式がFalseとなったときに一度だけ実行されます。

例は以下のとおり。

>>> i = 0
>>> while i <5:
...     print(i)
...     i += 1
... else:
...     print("whileが終了しました")
... 
0
1
2
3
4
whileが終了しました

breakの活用

breakを使うと、while文の途中でも、強制的に処理を終わらせられます

例文は以下のとおり。

i = 0
while i < 10:
    i += 1
    if i == 3:
        break
    print(i)

変数iが3となったら、強制的にwhileループは終了します。

whileを使ったアプリ例

whileが使われた自作アプリのコードをご紹介します。

  • タイピングゲーム
  • じゃんけんゲーム

タイピングゲーム

タイピングゲームでwhileが使われているのは以下の部分。

validator = False
sentence = "何文字にチャレンジしますか?-> "
while not validator:
    char_size = input(sentence)
    try:
        char_size = int(char_size)
        if char_size <= 50:
            validator = True
        else:
            sentence = "問題は50文字以内で入力下さい -> "
    except:
        sentence = "数値を入力下さい"

whileを使って、入力値に不正がないかを確認しています。

詳しくは以下の記事でどうぞ。

じゃんけんゲーム

じゃんけんゲームでは以下の部分で使われています。

while game_continue:
	total_game += 1
	main_program()
	janken_continue() #じゃんけんをつづけるか
	reset_for_nextgame()
else:
	time.sleep(0.5)
	print(f'あなたは{total_game}戦{your_wins}勝{total_game - your_wins}敗')
	print("じゃんけんゲームを終了します")
	time.sleep(5)
	sys.exit()

while…else文を使って、ゲームを続ける場合と終了した場合を管理しています。

全コードはこちらで公開しています。

まとめ:Pythonのwhileは、構成さえ覚えれば使うのは簡単

当記事の内容をまとめます。

  • whileは、ある条件下でのみ、処理を実行する
  • whileの書き方は、構成を覚えれば簡単

whileを使って、一定の条件下でのみ処理を実行できます

elseやbreakを活用して、更に高度なことも可能。

当記事の内容を使いこなして、whileをマスターしましょう。

✔当ブログは以下のような方に向けて書かれています

「Djangoでのアプリ開発を学びたい!」

「Djangoで開発したアプリをWebで公開するにはどうするの?」

✔当ブログ掲載の記事

  • Djangoで作る日報アプリ開発
  • WebアプリをWeb上に公開する方法
  • Webアプリ開発に必要なそのほかの情報
【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!

公式LINEも始めました。記事更新についてや、当ブログ内の人気記事などの情報を定期的に配信しています。

友だち追加

ITCブログにご協力いただける方は、以下もご検討いただけると嬉しいです。

ITCに投げ銭をする

タイトルとURLをコピーしました