Pythonでforループとwhileループを組み合わせる方法【ネスト(入れ子)ループの基本】
Pythonでforループとwhileループを組み合わせる方法
Pythonでは、ネストされたループ(入れ子構造)を非常に簡単に作成できます。forループの中にwhileループを配置することも可能ですし、逆にwhileループの中にforループを入れることもできます。この柔軟性により、繰り返し処理を自由に組み合わせた複雑なロジックを実装できます。
基本的な入れ子ループの例
以下は、forループの中にwhileループを組み込んだシンプルなサンプルコードです。
for i in range(5):
j = i
while j != 0:
print(j, end=', ')
j -= 1
print("")
このコードを実行すると、次のような出力が得られます。
1, 2, 1, 3, 2, 1, 4, 3, 2, 1,
コードの仕組み
まず、外側のforループが変数 i を0から4まで順番に処理します。続いて、内側のwhileループは、変数 j の値が0になるまで、現在の値を出力しながら1ずつ減らしていきます。その結果、各行には「iから1まで」の数字がカンマ区切りで表示されます。
また、内側のループが終了するたびに print("") が呼び出されることで改行され、整形された読みやすい出力になっています。end=', ' を指定しているため、通常の改行ではなくカンマとスペースで値が連結されている点にも注目してください。
入れ子構造をさらに深くする
このようなネスト構造は、必要に応じていくらでも深くすることができます。forループとwhileループを任意の段数で重ねられるため、多次元データの処理や複雑な条件分岐を含む反復処理など、さまざまな場面で活用できます。
ただし、あまりに深い入れ子構造はコードの可読性を損なう原因となります。実際の開発では、処理を関数に分割したり、適切な変数名を付けたりするなどの工夫をして、保守しやすいコードを心がけましょう。
-
Microsoft Edgeで複数のユーザープロファイルを作成・切り替えて使う方法
家族とパソコンを共有しているなら、ブラウザに複数のユーザープロファイルを設定しておくのがおすすめです。プロファイルを分けておけば、拡張機能・設定・閲覧履歴・ブックマーク・クレジットカード情報・メールなどをユーザーごとに独立して管理でき、ブラウザにサインインしたときにそれぞれ自分の環境へアクセスできます。 かつて複数プロファイル機能が最も使いやすいブラウザといえばGoogle Chromeでした。Chromeは2016年にいち早くこの機能を導入し、その後他のブラウザも追随しましたが、使い勝手の面でChromeに匹敵するものは少なかったのが実情です。 しかし近年、Chromiumベースの新
-
CortanaとAlexaを連携して使う方法|Windows 10とAmazon Echoで両アシスタントを活用
Microsoftは、Build開発者向けカンファレンスでの発表をもとに、Windows 10 PCへのAlexa搭載と、Amazon EchoスピーカーへのCortana搭載を実現しました。現在、プレビュー版は米国限定で提供されていますが、この2大音声アシスタントの提携は今後さらに発展していくことが期待されます。 私たちが暮らす現代は多様化した世界であり、1台のデバイスに複数のアシスタントを搭載することには大きなメリットがあります。個別のOSとしてではなく、まるでアプリのようにアシスタントへアクセスできるのは非常に便利です。 現時点での連携機能はまだ基本的なものですが、近いうちにCortan