旅行の計画を立てるとき、「どの日にどの観光地へ行くか」を考えるのは意外と時間がかかります。
旅行先や行きたい場所が増えるほど、日程表を作る作業も大変になりますよね。
そこで便利なのがPythonです。
Pythonを使えば、行きたい観光スポットをリストに登録し、旅行日数に合わせて予定を振り分けるプログラムを作れます。
この記事では、Python初心者の方に向けて、旅行の日程表を自動作成する方法をわかりやすく解説します。
リストや辞書、for文といったPythonの基本を学びながら、実際に動く旅行スケジュール作成プログラムを完成させましょう。
この記事でわかること
- Pythonで旅行の日程表を作る基本的な方法
- リストを使って観光スポットを管理する方法
- 辞書を使って日程ごとの予定をまとめる方法
- for文を使って日程表を表示する方法
- 旅行日数に合わせて予定を自動で振り分ける方法
- 旅行計画をさらに便利にする応用アイデア
Pythonを学び始めたばかりの方でも、コードを実際に入力しながら進めれば理解できる内容です。
Pythonで旅行の日程表を自動作成する仕組み
今回作るプログラムでは、主に次の流れで旅行の日程表を作成します。
- 行きたい観光スポットを登録する
- 旅行日数を設定する
- 観光スポットを日ごとに振り分ける
- 完成した日程表を画面に表示する
例えば、3日間の旅行で6か所の観光スポットを訪れたい場合、次のような日程表を作成できます。
1日目
- 東京駅
- 浅草寺
2日目
- 東京スカイツリー
- 上野公園
3日目
- 明治神宮
- 渋谷スクランブル交差点
最初は単純なプログラムから始め、少しずつ機能を追加していきましょう。
旅行の日程表を作るために必要なPythonの基礎知識
旅行の日程表を作るために、今回は次の3つのPythonの基本を使います。
- リスト
- 辞書
- for文
どれもPythonプログラミングではよく使われる基本的な機能です。
リストを使って観光スポットを管理する
リストは、複数のデータをまとめて管理できる機能です。
旅行で行きたい場所を管理する場合は、次のように書けます。
spots = [
"東京駅",
"浅草寺",
"東京スカイツリー",
"上野公園"
]このコードでは、4つの観光スポットをspotsというリストに保存しています。
リストを使うことで、たくさんの観光地を1つの変数で管理できます。
例えば、登録した観光スポットを表示するには、次のように書きます。
for spot in spots:
print(spot)実行すると、登録した観光スポットが1つずつ表示されます。
辞書を使って日程ごとの予定をまとめる
辞書は、「名前」と「データ」をセットで管理できる機能です。
旅行の日程表では、「1日目」「2日目」と、それぞれの日の予定をまとめるのに便利です。
例えば、次のように書けます。
schedule = {
"1日目": ["東京駅", "浅草寺"],
"2日目": ["東京スカイツリー", "上野公園"]
}このコードでは、「1日目」と「2日目」をキーとして、それぞれの日の観光スポットを保存しています。
for文を使って日程表を表示する
for文は、同じ処理を繰り返したいときに使います。
旅行の日程表を表示する場合は、次のように使えます。
for day, plans in schedule.items():
print(day)
for plan in plans:
print("-", plan)このように、for文を使うと複数の日程や観光スポットをまとめて表示できます。
Pythonで旅行の日程表を自動作成してみよう
ここからは、実際にPythonを使って旅行の日程表を作ってみましょう。
今回は、3日間の旅行を例にします。
まずは観光スポットをリストに登録する
最初に、旅行で行きたい場所をリストに登録します。
spots = [
"東京駅",
"浅草寺",
"東京スカイツリー",
"上野公園",
"明治神宮",
"渋谷スクランブル交差点"
]今回は6か所の観光スポットを登録しました。
もちろん、旅行先に合わせて好きな場所に変更できます。
例えば、京都旅行なら次のように書き換えることもできます。
spots = [
"清水寺",
"金閣寺",
"伏見稲荷大社",
"嵐山",
"二条城",
"祇園"
]まずは、自分の旅行先に合わせて観光スポットを登録してみましょう。
旅行日数を設定する
次に、旅行日数を設定します。
今回は3日間の旅行なので、次のように書きます。
days = 3変数daysに旅行日数を保存しました。
旅行日数を変更したい場合は、数字を書き換えるだけです。
例えば、2泊3日の旅行なら3、4泊5日の旅行なら5を設定できます。
観光スポットを日程ごとに振り分ける
次に、登録した観光スポットを旅行日数に合わせて振り分けます。
まずは、日程表を保存するための空のリストを用意します。
schedule = [[] for _ in range(days)]少し難しく見えるかもしれませんが、このコードは旅行日数分の空のリストを作っています。
3日間の場合、次のようなイメージです。
[
[],
[],
[]
]次に、観光スポットを順番に各日へ振り分けます。
for i, spot in enumerate(spots):
day_index = i % days
schedule[day_index].append(spot)このコードでは、観光スポットを順番に1日目、2日目、3日目へ振り分けています。
例えば、6か所の観光スポットと3日間の旅行の場合、次のように振り分けられます。
- 1日目:東京駅、上野公園
- 2日目:浅草寺、明治神宮
- 3日目:東京スカイツリー、渋谷スクランブル交差点
ここで使われている%は、余りを求める演算子です。
観光スポットの番号を旅行日数で割った余りを使うことで、予定を順番に繰り返し振り分けています。
完成した日程表を表示する
最後に、作成した日程表を画面に表示します。
次のコードを追加してください。
for i, plans in enumerate(schedule, start=1):
print(f"{i}日目")
for plan in plans:
print("-", plan)
print()これで、日程ごとの予定を見やすく表示できます。
完成したサンプルコード
ここまでのコードをまとめると、次のようになります。
# 行きたい観光スポット
spots = [
"東京駅",
"浅草寺",
"東京スカイツリー",
"上野公園",
"明治神宮",
"渋谷スクランブル交差点"
]
# 旅行日数
days = 3
# 日程表を保存するリスト
schedule = [[] for _ in range(days)]
# 観光スポットを各日に振り分ける
for i, spot in enumerate(spots):
day_index = i % days
schedule[day_index].append(spot)
# 日程表を表示する
print("旅行の日程表")
print()
for i, plans in enumerate(schedule, start=1):
print(f"{i}日目")
for plan in plans:
print("-", plan)
print()このコードをPythonで実行すると、旅行日程表が自動的に作成されます。
サンプルコードを実行した結果
上記のコードを実行すると、次のような結果になります。
旅行の日程表
1日目
- 東京駅
- 上野公園
2日目
- 浅草寺
- 明治神宮
3日目
- 東京スカイツリー
- 渋谷スクランブル交差点観光スポットの数や旅行日数を変更すると、自動的に別の日程表を作成できます。
例えば、観光スポットを9か所に増やしたり、旅行日数を4日間に変更したりして試してみましょう。
コードの仕組みを理解するには、実際に数字や観光スポットを変更して実行することがおすすめです。
日程表をさらに便利にする応用アイデア
ここまでのプログラムでも、簡単な旅行の日程表を作成できます。
さらにPythonの機能を追加すれば、もっと便利な旅行計画ツールに発展させることも可能です。
日付を自動で表示する
Pythonのdatetimeモジュールを使うと、旅行開始日から日付を自動で計算できます。
例えば、旅行開始日を設定して、1日目、2日目、3日目の日付を表示できます。
from datetime import datetime, timedelta
start_date = datetime(2026, 11, 10)
for i in range(3):
travel_date = start_date + timedelta(days=i)
print(travel_date.strftime("%Y年%m月%d日"))この機能を日程表と組み合わせれば、「1日目」だけではなく、実際の日付も表示できます。
旅行計画をより具体的に作りたい場合に便利です。
朝・昼・夜の予定に分ける
旅行の日程をさらに細かく管理したい場合は、朝・昼・夜に分ける方法もあります。
例えば、辞書を使って次のように予定を管理できます。
schedule = {
"1日目": {
"朝": "ホテルで朝食",
"昼": "浅草寺を観光",
"夜": "東京駅周辺で夕食"
}
}このような形にすると、より実際の旅行スケジュールに近い日程表を作れます。
最初はシンプルなプログラムから始めて、慣れてきたら時間帯ごとの管理にも挑戦してみましょう。
CSVファイルに日程表を保存する
作成した日程表をCSVファイルに保存すれば、あとからExcelなどで確認することもできます。
Pythonにはcsvモジュールが用意されているため、追加のライブラリをインストールしなくてもCSVファイルを作成できます。
例えば、次のようなデータとして保存できます。
- 日数
- 観光スポット
CSVファイルへの保存を学ぶと、旅行日程表以外にも家計簿や買い物リストなど、さまざまなプログラムに応用できます。
Pythonで旅行計画を便利にするアイデア
旅行の日程表作成プログラムは、さらにさまざまな機能を追加できます。
例えば、次のようなアイデアがあります。
- 観光スポットの営業時間を登録する
- 移動時間を計算する
- 旅行費用を合計する
- 天気予報を確認する
- ホテルのチェックイン時間を登録する
- 旅行の持ち物リストを作成する
最初からすべての機能を作る必要はありません。
まずは今回紹介したような簡単な日程表を完成させ、その後で少しずつ機能を追加していくのがおすすめです。
Pythonでは、小さなプログラムを作りながら学ぶことで、プログラミングの基本を身につけやすくなります。
関連記事としておすすめのテーマ
旅行の日程表作成の記事からは、次のようなテーマの記事へ内部リンクをつなげると、サイト内の記事を回遊しやすくなります。
- Pythonで旅行費用を自動計算する方法
- Pythonで旅行の持ち物リストを作成する方法
- Pythonで写真を日付別フォルダに自動整理する方法
特に、旅行費用を自動計算する記事とは、「旅行計画をPythonで便利にする」という共通点があるため、相性のよい内部リンクになります。
例えば、記事内で次のような流れを作ることができます。
「旅行の日程表が完成したら、次はPythonを使って旅行費用も自動計算してみましょう。」
このように関連記事をつなげることで、Python初心者が次に学ぶ内容を見つけやすくなります。
まとめ
今回は、Pythonを使って旅行の日程表を自動作成する方法を紹介しました。
この記事のポイントを振り返ってみましょう。
- リストを使うと観光スポットをまとめて管理できる
- 辞書を使うと日程ごとの予定を整理できる
- for文を使うと複数の予定を繰り返し表示できる
- 旅行日数に合わせて観光スポットを自動で振り分けられる
- datetimeやCSVを使えば、さらに便利な旅行計画ツールを作れる
旅行の日程表は、Python初心者でも作りやすく、プログラミングの基本を学ぶのにおすすめのテーマです。
まずは今回のサンプルコードを実行し、自分の旅行先や観光スポットに合わせて内容を変更してみてください。
「旅行日数を増やす」「行きたい場所を追加する」といった小さな変更を繰り返すことで、Pythonのコードが少しずつ理解できるようになります。
Pythonを使って、旅行の計画をもっと便利に、もっと楽しくしていきましょう。
