PythonOne ―― 高校情報ⅠのためのPythonオンライン学習環境

繰り返し② 条件を指定する繰り返し(while 条件式:

while 文

while 文を使うことで、条件に合っている間同じ処理を繰り返すことができます。while 条件式: という行を書き、条件に合う場合に繰り返し実行する処理はその下に空白文字 44 文字を使ってインデント(字下げ)します。

サンプルプログラム

プログラム

入力欄
 
出力欄
15
実行ボタンを押してください
17
実行ボタンを押してください
18
実行ボタンを押してください
20
実行ボタンを押してください
年齢が nenrei 歳の人が成人するまでの年齢の変化を 11 年ずつシミュレーションするプログラムです。nenrei18 未満の間、while 文の中の処理が繰り返し実行されます。33 行目の nenrei = nenrei + 1 は、右辺の計算式の nenrei + 1 の結果を左辺の変数名の nenrei に代入する、つまり nenrei11 増やすという意味です(方程式ではありません)。

while 文と if 文の組み合わせ

while 文の中に if 文を入れることで、繰り返しの中で条件分岐を行うことができます。

サンプルプログラム

プログラム

入力欄
 
出力欄
(入力なし)
実行ボタンを押してください
あるソーシャルゲームでは、毎日ログインボーナスでコインがもらえます。ログインボーナスは基本的に 11 日につき 11 コインですが、77 日に 11 度だけ(77 日目、1414 日目、2121 日目、\ldots)は 55 コインもらえます。このゲームでコインが 100100 コイン貯まるまでに何日かかるかをシミュレーションするプログラムです。
最初、手持ちコイン数 coin0 で、現在の経過日数 day0 で初期化しています。while 文の中で日数 day11 日ずつ増やしながら、if 文でその日が 77 の倍数の日(77 で割った余りが 00 になる日)かどうかを判定して、coin に加算するコインの数を変えています。

クイズ

次のクイズに取り組んでみましょう。ただし、入力欄を読み取って変数に代入するプログラムはもとから書いてあります。その続きを自分で書いてみましょう。

クイズ

今、ポケットにビスケットが 11 枚入っています。ポケットを 11 回叩くと、ビスケットの枚数が 22 倍になります。ビスケットの枚数が goal 枚以上になるまで叩いたとき、ビスケットの枚数は何枚になっていますか?

プログラム

入力欄
 
出力欄
正答
5
実行ボタンを押してください
(正答を取得中)
50
実行ボタンを押してください
(正答を取得中)
1000
実行ボタンを押してください
(正答を取得中)

クイズ

あるソーシャルゲームでは、毎日ログインボーナスでコインがもらえます。ログインボーナスは基本的に 11 日につき 11 コインですが、22 日に 11 度(22 日目、44 日目、66 日目、\ldots)は 33 コインもらえます。欲しいアイテムを買うために必要な目標コイン数が goal のとき、欲しいアイテムを買えるようになるまでに何日かかるかをシミュレーションするプログラムを作成してください。

プログラム

入力欄
 
出力欄
正答
5
実行ボタンを押してください
(正答を取得中)
50
実行ボタンを押してください
(正答を取得中)
1000
実行ボタンを押してください
(正答を取得中)