セクション 1. 章 14
single
入れ子のwhileループ
メニューを表示するにはスワイプしてください
複数のレベルでデータを整理または分析する必要がある場合があります。例えば、さまざまな旅行ごとの費用を追跡する場合などです。ネストされた while ループを使用すると、繰り返し回数が事前に決まっていない多次元のシナリオを効率的に処理できます。
複数の旅行があり、それぞれの旅行にフライト、ホテル、食事などの費用リストがあるとします。ネストされた while ループを使うことで、各旅行の合計費用を計算できます。
12345678910111213141516171819202122232425262728293031323334# List of trips with their respective expenses travel_costs = [ [500, 200, 100, 150], # Trip 1: Flights, Hotels, Food, Activities [600, 250, 120, 200], # Trip 2: Flights, Hotels, Food, Activities [550, 180, 130, 170] # Trip 3: Flights, Hotels, Food, Activities ] # Variables to track the maximum cost max_cost = 0 max_trip = 0 # Outer loop to iterate over trips i = 0 while i < len(travel_costs): total_cost = 0 j = 0 # Inner loop to iterate over expenses in each trip while j < len(travel_costs[i]): total_cost += travel_costs[i][j] j += 1 # Print the total cost for the current trip print('Total cost for Trip', i + 1, ':', total_cost) # Check if this trip is the new maximum if total_cost > max_cost: max_cost = total_cost max_trip = i + 1 i += 1 # Final output: print the trip with the highest total cost print("Trip", max_trip, "has the highest total cost of", max_cost)
- 外側のループ:
while i < len(travel_costs)は旅行リストを順に処理し、各行が1回の旅行の費用を表す; - 内側のループ:
while j < len(travel_costs[i])は現在の旅行の費用を順に処理し、total_cost変数に合計する; - 結果の出力: 旅行ごとの費用を合計した後、その旅行の合計費用を出力;
- 次の旅行へ進む:
iをインクリメントして、すべての旅行が処理されるまで繰り返す; - 最終出力: ループ終了後、最も合計費用が高い旅行番号とその金額を出力。
ノート
ネストされたループは、各ネストレベルが次元を表すn次元行列の反復処理によく使用されます。本章の課題では、2次元行列(例:旅行リストとその費用)を扱います。ネストされたループは、入力検証や多階層メニューの操作など、繰り返し回数が固定されておらず、条件やユーザー入力によって変化する動的なループ処理にも役立ちます。
タスク
スワイプしてコーディングを開始
あなたは旅行費用のデータセットを分析しています。各サブリストは1回の旅行にかかった費用を表しています。各旅行には、航空券、ホテル、食事、アクティビティなどさまざまな費用が含まれています。費用は旅行ごとに異なるため、各旅行で最も高額な費用を特定し、主要な出費を把握する必要があります。
travel_costsというリストが与えられており、各サブリストが1回の旅行の費用を表しています。- 各旅行について、最も高額な費用を特定します。
- 最も高額な費用を
max_costsリストに格納します。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 14
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください