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()