Simple Travel Planner in Python
class TravelPlanner:
def __init__(self):
self.destinations = {}
def add_destination(self, name, activities):
self.destinations[name] = activities
def view_destinations(self):
print("Available Destinations:")
for destination in self.destinations:
print(f"- {destination}")
def create_itinerary(self, destination, budget):
if destination not in self.destinations:
print("Destination not found.")
return
activities = self.destinations[destination]
itinerary = []
print(f"\nCreating itinerary for {destination} with a budget of ${budget}:")
for activity, cost in activities.items():
if cost <= budget:
itinerary.append(activity)
budget -= cost
print(f"Added: {activity} (${cost})")
if not itinerary:
print("No activities fit within the budget.")
else:
print("\nFinal Itinerary:")
for item in itinerary:
print(f"- {item}")
# Example Usage
if __name__ == "__main__":
planner = TravelPlanner()
# Adding destinations and their activities
planner.add_destination("Paris", {
"Eiffel Tower Visit": 25,
"Louvre Museum": 15,
"Seine River Cruise": 30,
"Notre Dame Cathedral": 0,
"Montmartre Tour": 10
})
planner.add_destination("New York", {
"Statue of Liberty": 20,
"Broadway Show": 100,
"Central Park": 0,
"Museum of Modern Art": 25,
"Brooklyn Bridge Walk": 0
})
# Viewing available destinations
planner.view_destinations()
# Creating an itinerary
destination = input("\nEnter your destination: ")
budget = int(input("Enter your budget: "))
planner.create_itinerary(destination, budget)
How to Use the Code
- Add Destinations: You can add destinations and their associated activities with costs.
- View Destinations: The program displays all available destinations.
- Create Itinerary: Enter a destination and budget to generate a list of activities that fit within your budget.
Running the Code
You can run this code in any Python environment. Just copy and paste it into a .py
file or directly into a Python interpreter.
Next Steps
- Expand Activities: Include more detailed activity descriptions, timings, etc.
- User Profiles: Allow users to save and load their travel preferences.
- Web Integration: Create a web app using frameworks like Flask or Django for a more user-friendly interface.
Leave a Reply