更新:2024/10/12
【Python】whileの基本的な使い方・例題について


ふゅか
whileループって便利よね!Pythonで繰り返し処理を簡単にできるんだもの♪

はるか
うん、条件がTrueの限り、処理を繰り返す。それだけ。
目次
1. whileの使い方
Pythonのwhile
ループは、指定された条件がTrue
である限り、ループ内のコードを繰り返し実行します。条件がFalse
になるとループは終了します。
1.1. 基本的な構文
while 条件:
# 繰り返し実行されるコード
while
ループの動作は次のようになります。
条件
を評価します。条件
がTrue
の場合、ループ内のコードが実行されます。- ループ内のコードがすべて実行された後、再び
条件
を評価します。 条件
がTrue
の間は、このプロセスが繰り返されます。条件
がFalse
になると、ループは終了します。
2. whileを使ったプログラムの具体例
2.1. 例1:カウントアップ
次の例では、変数count
を0
から5
までカウントアップするwhile
ループです。
count = 0
while count < 5:
print(count)
count += 1
2.1.1. 期待される出力
0
1
2
3
4
2.1.2. 解説
- まず、
count
は0
に初期化されています。 while count < 5
の条件が成り立つ限り、print(count)
によってcount
の値が表示されます。- その後、
count += 1
でcount
が1ずつ増加します。 - 最終的に、
count
が5
になった時、条件count < 5
がFalse
となり、ループが終了します。
2.2. 例2:無限ループ
while
ループは条件が常にTrue
の場合、無限に実行されます。無限ループを避けるためには、ループ内で条件を変化させる必要があります。
count = 0
while True:
print(count)
count += 1
if count >= 5:
break
2.2.1. 期待される出力
0
1
2
3
4
2.2.2. 解説
- ここでは、
while True:
が使われており、ループは無限に続きます。 - しかし、
count >= 5
になった時、break
文によってループが強制終了されます。break文がないと、無限にループが続きます。

ふゅか
無限ループも気をつけないとね。条件を変えないと永遠に終わらない!

はるか
breakで止めればいい。
2.3. 例3:ユーザー入力を受け取るwhileループ
while
ループを使用して、ユーザーの入力に応じてループを制御することもできます。
user_input = ""
while user_input != "exit":
user_input = input("コマンドを入力してください(終了するには'exit'を入力):")
print(f"あなたは {user_input} を入力しました")
2.3.1. 期待される出力
コマンドを入力してください(終了するには'exit'を入力):hello
あなたは hello を入力しました
コマンドを入力してください(終了するには'exit'を入力):exit
あなたは exit を入力しました
2.3.2. 解説
- ユーザーが
exit
と入力するまでループが続きます。 input()
関数でユーザーからの入力を受け取り、その値をuser_input
に代入します。user_input
が"exit"
になると、while user_input != "exit"
の条件がFalse
になり、ループが終了します。

ふゅか
あ、ユーザーからの入力とwhileループを組み合わせることもできるよ!「exit」って入力するまで繰り返すの!

はるか
input()関数で入力を受け取って条件を評価する。それだけ。
3. whileの例題
3.1. 例題 1: 嘘を数えるプログラム
ある人が一日に嘘をつく回数を入力します。その人が嘘を1日につく回数がゼロになるまで、プログラムはその回数を合計して記録します。
期待される出力:
嘘をついた回数を入力してください: 3
嘘をついた回数を入力してください: 2
嘘をついた回数を入力してください: 1
嘘をついた回数を入力してください: 0
あなたがついた嘘の合計は 6 回です。
解答の手順:
- ユーザーから入力を受け取り、嘘の回数を整数として処理します。
while
ループを使用して、嘘の回数がゼロでない限り、入力された値を合計します。- 嘘の回数がゼロになった時点でループを終了し、合計を表示します。
解答:
total_lies = 0
lies = int(input("嘘をついた回数を入力してください: "))
while lies != 0:
total_lies += lies
lies = int(input("嘘をついた回数を入力してください: "))
print(f"あなたがついた嘘の合計は {total_lies} 回です。")
3.2. 例題 2: 嘘つきゲーム
ユーザーは「嘘をつく」か「正直に言う」かを選択します。嘘をつくとスコアがマイナス1され、正直に言うとプラス1されます。スコアが-3になったらゲームオーバーです。
期待される出力:
「嘘をつく」か「正直に言う」かを選んでください: 嘘をつく
スコア: -1
「嘘をつく」か「正直に言う」かを選んでください: 正直に言う
スコア: 0
「嘘をつく」か「正直に言う」かを選んでください: 嘘をつく
スコア: -1
(繰り返し、スコアが-3になった場合終了)
解答の手順:
- スコアを
0
で初期化し、ユーザーの選択によってスコアを増減します。 while
ループで、スコアが-3に達するまでゲームを続けます。- スコアが-3になるとループが終了し、ゲームオーバーを表示します。
解答:
score = 0
while score > -3:
choice = input("「嘘をつく」か「正直に言う」かを選んでください: ")
if choice == "嘘をつく":
score -= 1
else:
score += 1
print(f"スコア: {score}")
print("ゲームオーバー。スコアが-3になりました。")
check
Pythonの基本から応用まで、幅広くカバーする記事を公開中です。学習のポイントや実践的なコード例を通じて、Pythonの魅力と実用性を深く理解することができます。ぜひ、こちらの記事で気になる記事を見つけてください!
PR