MENU
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
カテゴリー
  • IT関連 (623)
    • Bootstrap (2)
    • クラウド (4)
    • サーバー技術 (185)
    • ストレージ (7)
      • NetApp (7)
    • ネットワーク技術 (91)
      • Cisco (36)
      • Juniper (18)
      • 負荷分散装置 (17)
    • パソコン関連 (92)
      • MAC (25)
      • Windows (54)
    • プログラミング (154)
      • Ansible (11)
      • C言語 (23)
      • Python (111)
        • Django (20)
    • 仮想化 (88)
      • Docker (63)
      • VMware (23)
  • VPS (200)
    • ABLENET VPS (16)
    • Amazon Lightsail(VPS) (2)
    • ConoHaVPS (37)
    • mixhostVPS (4)
    • WebARENAIndigo (16)
    • XServerVPS (34)
    • お名前.com VPS (12)
    • さくらのVPS (24)
    • カゴヤクラウドVPS (13)
    • シンVPS (7)
  • レンタルサーバー (56)
    • エックスサーバー (38)
  • 光回線 (8)
  • 技術スキルアップ開発・学習 (7)
    • Envader (2)
    • RareTECH (2)
    • Udemy (3)
もう現役20年超えましたー。経験値ならだれにも負けないエンジニア技術ブログ
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
  1. ホーム
  2. IT関連
  3. プログラミング
  4. Python
  5. 【Python】while文を使った繰り返し処理

【Python】while文を使った繰り返し処理

2020 1/16
Python
2020年1月4日2020年1月16日

Pythonには「繰り返し処理」をすることができます。

目次
安くて高速!高性能VPSで快適開発!
最速5分でサーバー構築
>>>こちらをチェック

エンジニア必見! 技術力を伸ばすVPS徹底比較
>>>VPS比較

【Python】で利用する繰り返し処理「while文」の使い方

while文では、条件となる式を記述し、その条件が満たされている間(Trueの間)繰り返し処理を実行します。

以下のプログラムでは変数を10とし、そこから一つずつ数を減らしていくプログラムとなります。
条件として、「count」の値が0より大きな値の場合は(true)として繰り返しを実行します。

繰り返しの旅に一つずつ値が小さくなり、countが0、つまり0以下となるとwhileの繰り返し処理を抜けてプログラムを終了します。

カウントの値が0になるまで繰り返す「while文」

カウントの値が0になるまで繰り返し処理を実行するプログラムの例

※ 「while_test.py」を作成

import time

count = 10
while count > 0:
    print(count)
    count = count -1
    time.sleep(1)
print('動作を終了')

4行目で「count」が0より大きい間は、繰り返し処理を実行します。
7行目で1秒間スリープするので1秒ごとに繰り返し処理が走るようにします。

※ 実行結果

$ python3 while_test.py 
10
9
8
7
6
5
4
3
2
1
動作を終了
$

繰り返し処理から強制的に抜ける

while文では条件を常に満たす(true)ことにより、無限に繰り返し処理が実行されます。
無限に繰り返し処理が実行しているプログラムを中断するには「ctrl+C」を押します。

これにより、プログラムの処理を強制的に中断します。
処理を中断すると、以下のように、「KeyboardInterrupt」を表示されて、キーボードからの入寮kによって処理が中断されたことがわかります。

$ python3 while_test.py 
10
9
8
7
^CTraceback (most recent call last):
  File "while_test.py", line 7, in <module>
    time.sleep(1)
KeyboardInterrupt

$ 

あいさつを返す「while文」の作成

以下ではwhile文の無限ループを利用した、会話botを作成します。
挨拶を入力する際に、適切な挨拶をPythonのプログラムで実行し、返すようにします。

以下では、単純に入力した文字列をそのまま返す、while文となります。

※ while_test.py

while True:
    command = input('bot> ')
    print(command)

※ 実行結果

$ python3 while_test.py 
bot> こんにちわ
こんにちわ
bot> こんばんわ
こんばんわ
bot> はじめまして
はじめまして
bot> ^CTraceback (most recent call last):
  File "while_test.py", line 2, in <module>
    command = input('bot> ')
KeyboardInterrupt

$ 

上記は、無限に繰り返しを実行するので、終了するために「ctrl+C」で強制終了させます。

「break文」で繰り返しを終了させる

上記では、「ctrl+C」を押さないと無限にプログラムは繰り返します。
そのため、強制終了をせず、「break文」を利用して繰り返し処理を終了させるようにします。

※ while_test.py

while True:
    command = input('bot> ')
    print(command)
    if 'さようなら' in command:
        break

上記プログラムでは「さようなら」という文字列が含まれている場合、「break文」で繰り返し処理を終了させます。

※ 実行結果

$ python3 while_test.py 
bot> おはよう
おはよう
bot> こんにちわ
こんにちわ
bot> さようなら。またね。
さようなら。またね。
$ 

不明な文字列に対しても対応するようにする「if」、「elif」、「else」を利用する

以下では、if文も含めた、条件分岐で挨拶を切り替えるプログラムを作成します。

while True:
    command = input('bot> ')
    if 'おはよう' in command:
        print('オハヨウゴザイマス')
    elif 'こんにちわ' in command:
        print('ドーモー')
    elif 'こんばんわ' in command:
        print('オバンデス')
    elif 'さようなら' in command:
        print('バイバイ')
        break
    else:
        print('何をオッシャッテイルノカ、ワカリマセン。')

上記では、それぞれ、if文で、おはよう、こんにちわなどに対して、それぞれ、「オハヨウゴザイマス」や「ドーモー」などの返事を返すようにしています。
また、「さようなら」という文字列に対しては、返事を返して、さらにbureak文でプログラムを終了させます。

また、if文の文字列に含まれていない物に対しての返事は全て「何をオッシャッテイルノカ、ワカリマセン。」と返します。

※実行結果

$ python3 while_test.py 
bot> おはようございます。
オハヨウゴザイマス
bot> こんにちわ。お元気ですか?
ドーモー
bot> こんばんわ
オバンデス
bot> はじめまして。
何をオッシャッテイルノカ、ワカリマセン。
bot> え?
何をオッシャッテイルノカ、ワカリマセン。
bot> さようなら
バイバイ
$ 

while文の繰り返し処理を利用することで、if文などを利用したプログラムなど設計の幅が広くなるのでぜひ活用しましょう。

エンジニアスキルをアップする勉強法

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

あわせて読みたい
現役エンジニアがおすすめするVPSレンタルサーバ比較(高速SSD限定) 格安VPS比較(2025年最新版)

Python
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)



検索
カテゴリー
新着記事
  • XServerVPS アニメ風 男の子 プログラミングをしている VPSを利用している 楽しそうにしている
    XServerVPSで証明書(SSL)を取得する方法
    2025年3月24日
    XServerVPS
  • レンタルサーバ アニメ風 女の子 楽しんでパソコンをしている 目がキラキラ
    WordPressがレンタルサーバよりVPSで利用する方がおすすめの理由
    2025年3月19日
    VPS
  • VPS レンタルサーバー アニメ風 女の子 プログラミングをしている VPSを利用している 楽しそうにしている
    VPSとクラウドの違いとは?初心者向けにわかりやすく解説
    2025年3月5日
    VPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSはWindows serverを利用できない。その理由と利用できるOSは?
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSでゲームを利用する環境はあるのか
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSのサイトの表示速度は他社に比べて早いのか?
    2025年3月4日
    シンVPS
目次
目次