DSA Python Project – Movie Ticket Booking
by DataFlair Team
Program 1
# Movie Ticket Booking System ( Based on 2 D Array)
class Seat:
def __init__(self):
self.booked = False
self.name = ""
class MovieTheater:
ROWS = 5
COLS = 10
def __init__(self):
self.seats = [[Seat() for _ in range(self.COLS)] for _ in range(self.ROWS)]
def display_seats(self):
print("\nSeating Arrangement (1 = Booked, 0 = Available):")
for i in range(self.ROWS): # i=0
print(f"Row {i + 1}: ", end="") # Row-1
for j in range(self.COLS): # j=0
print("1" if self.seats[i][j].booked else "0", end=" ")
print()
def book_seat(self):
try:
row = int(input(f"Enter row (1-{self.ROWS}): "))
col = int(input(f"Enter seat number (1-{self.COLS}): "))
except ValueError:
print("Invalid input. Please enter a number.")
return
if not self.is_valid_seat(row, col):
print("Invalid seat selection.")
return
seat = self.seats[row - 1][col - 1] # row =0 col=0
if seat.booked==True:
print("Seat already booked.")
else:
name = input("Enter your name: ").strip()
seat.booked = True
seat.name = name
print(f"Seat ({row}, {col}) booked successfully for {name}.")
def cancel_seat(self):
try:
row = int(input(f"Enter row to cancel (1-{self.ROWS}): "))
col = int(input(f"Enter seat number to cancel (1-{self.COLS}): "))
except ValueError:
print("Invalid input. Please enter a number.")
return
if not self.is_valid_seat(row, col):
print("Invalid seat selection.")
return
seat = self.seats[row - 1][col - 1] # row=0 col=0
if seat.booked==True:
print(f"Booking for {seat.name} canceled.")
seat.booked = False
seat.name = ""
else:
print("Seat is already available.")
def show_bookings(self):
print("\nBooked Seats:")
found = False
for i in range(self.ROWS):
for j in range(self.COLS):
seat = self.seats[i][j]
if seat.booked==True:
print(f"Seat ({i + 1}, {j + 1}) - {seat.name}")
found = True
if not found:
print("No bookings yet.")
def is_valid_seat(self, row, col):
return 1 <= row <= self.ROWS and 1 <= col <= self.COLS
def run(self):
while True:
print("\n----------------- Movie Ticket Booking System -----------------")
print("1. Show Seat Layout")
print("2. Book a Seat")
print("3. Cancel a Booking")
print("4. Show All Bookings")
print("5. Exit")
print("----------------------------------------------------------------")
choice = input("Enter your choice: ").strip()
if choice == "1":
self.display_seats()
elif choice == "2":
self.book_seat()
elif choice == "3":
self.cancel_seat()
elif choice == "4":
self.show_bookings()
elif choice == "5":
print("Exiting system. Goodbye!")
break
else:
print("Invalid choice. Try again.")
# Run the program
if __name__ == "__main__":
theater = MovieTheater()
theater.run()
Tags: dsa pythondsa using pythondsa using python programdsa using python projectmovie ticket bookingmovie ticket booking in dsa pythonmovie ticket booking projectmovie ticket booking project in dsa pythonmovie ticket booking using dsa python
DataFlair Team
DataFlair Team provides high-impact content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. We make complex concepts easy to grasp, helping learners of all levels succeed in their tech careers.