Python Capstone Project - Ipynb - Colab
Python Capstone Project - Ipynb - Colab
ipynb - Colab
import re
class User:
def __init__(self, user_id, name, email, aadhaar_number):
self.user_id = user_id
self.name = name
self.email = email
self.aadhaar_number = aadhaar_number
class Ticket:
def __init__(self, ticket_id, seat_number, price):
self.ticket_id = ticket_id
self.seat_number = seat_number
self.price = price
class Event:
def __init__(self, event_id, date, time, venue):
self.event_id = event_id
self.date = date
self.time = time
self.venue = venue
self.tickets = []
class Booking:
def __init__(self, booking_id, user_id, ticket_id, booking_status):
self.booking_id = booking_id
self.user_id = user_id
self.ticket_id = ticket_id
self.booking_status = booking_status
class BookingSystem:
def __init__(self):
self.users = []
self.events = []
self.bookings = []
if self.verify_aadhaar(user.aadhaar_number):
booking = Booking(len(self.bookings) + 1, user_id, ticket.ticket_id, "confirmed")
self.bookings.append(booking)
print(f"Booking successful for seat {seat_number}! Booking ID: {booking.booking_id}")
return booking
else:
i t("A dh ifi ti f il d ")
https://colab.research.google.com/drive/1OxItiGLMs8unw5JSsiKuP2FVvyTDDOEx?authuser=0#printMode=true 1/5
24/09/2024, 22:02 Python Capstone Project.ipynb - Colab
print("Aadhaar verification failed.")
return None
else:
print("Invalid seat number.")
return None
else:
print("Event not found.")
return None
else:
print("User not found.")
return None
def main():
# Initialize the booking system
system = BookingSystem()
# Create an event
event1 = Event("E001", "2024-12-25", "20:00", "Wembley Stadium")
while True:
print("\nWelcome to the Coldplay Concert Ticket Booking System!")
print("1. Register")
print("2. Login")
print("3. Exit")
choice = input("Enter your choice (1-3): ")
if choice == "1":
# Registration
print("\n--- User Registration ---")
user_name = input("Enter your name: ").strip()
email = input("Enter your email: ").strip()
aadhaar_number = input("Enter your 12-digit Aadhaar number: ").strip()
# Validate Aadhaar
if not system.verify_aadhaar(aadhaar_number):
print("Invalid Aadhaar number. Registration failed.")
continue
https://colab.research.google.com/drive/1OxItiGLMs8unw5JSsiKuP2FVvyTDDOEx?authuser=0#printMode=true 2/5
24/09/2024, 22:02 Python Capstone Project.ipynb - Colab
# Create a new user
user_id = f"U{len(system.users) + 1:03}"
user = User(user_id, user_name, email, aadhaar_number)
system.add_user(user)
user = system.find_user_by_aadhaar(aadhaar_number)
if not user:
print("User not found. Please register first.")
continue
while True:
print("\n--- Menu ---")
print("1. View Available Tickets")
print("2. Book a Ticket")
print("3. View My Bookings")
print("4. Cancel a Booking")
print("5. Logout")
user_choice = input("Enter your choice (1-5): ")
if user_choice == "1":
# View available tickets
available_tickets = system.get_available_tickets("E001")
if available_tickets:
print("\nAvailable Tickets:")
for ticket in available_tickets:
print(f"Seat Number: {ticket.seat_number}, Price: {ticket.price}")
else:
print("No tickets available.")
print("\nAvailable Tickets:")
for ticket in available_tickets:
print(f"Seat Number: {ticket.seat_number}, Price: {ticket.price}")
print("\nYour Bookings:")
for booking in user_bookings:
ticket = next((t for t in event1.tickets if t.ticket_id == booking.ticket_id), None)
if ticket:
print(f"Booking ID: {booking.booking_id}, Seat: {ticket.seat_number}, Price: {ticket.price}")
try:
booking id = int(input("Enter the Booking ID you want to cancel: ").strip())
https://colab.research.google.com/drive/1OxItiGLMs8unw5JSsiKuP2FVvyTDDOEx?authuser=0#printMode=true 3/5
24/09/2024, 22:02 Python Capstone Project.ipynb - Colab
g_ ( p ( g y ) p())
success = system.cancel_ticket(user.user_id, booking_id)
if success:
print("Booking cancelled successfully.")
except ValueError:
print("Invalid Booking ID.")
else:
print("Invalid choice. Please try again.")
else:
print("Invalid choice. Please try again.")
if __name__ == "__main__":
main()
Available Tickets:
Seat Number: 12A, Price: 500
Seat Number: 12B, Price: 500
Seat Number: 13A, Price: 300
Seat Number: 13B, Price: 300
Seat Number: 14A, Price: 200
Seat Number: 14B, Price: 200
Available Tickets:
Seat Number: 12A, Price: 500
Seat Number: 12B, Price: 500
Seat Number: 13A, Price: 300
Seat Number: 13B, Price: 300
Seat Number: 14A, Price: 200
Seat Number: 14B, Price: 200
Enter the seat number you'd like to book: 12A
Booking successful for seat 12A! Booking ID: 1
Booking ID: 1 for seat 12A confirmed.
https://colab.research.google.com/drive/1OxItiGLMs8unw5JSsiKuP2FVvyTDDOEx?authuser=0#printMode=true 4/5
24/09/2024, 22:02 Python Capstone Project.ipynb - Colab
https://colab.research.google.com/drive/1OxItiGLMs8unw5JSsiKuP2FVvyTDDOEx?authuser=0#printMode=true 5/5