##############################################################################
# Python From Scratch
# Author: Nilo Ney Coutinho Menezes
# Editora Novatec (c) 2010-2025 - LogiKraft 2025
# Site: https://pythonfromscratch.com
# ISBN: 978-85-7522-949-1 (Paperback), 978-85-7522-950-7 (hardcover), 978-85-7522-951-4 (ebook)
#
# File: chapter 06/exercise-06-15.py.py
##############################################################################
n_rooms = int(input("Number of rooms: "))
available_seats = []
for room in range(n_rooms):
    available_seats.append(int(input(f"Available seats in room {room + 1}: ")))

sold = [0] * len(available_seats)
while True:
    room = int(input("Room (0 to exit): "))
    if room == 0:
        print("End")
        break
    if room > len(available_seats) or room < 1:
        print("Invalid room")
    elif available_seats[room - 1] == 0:
        print("Sorry, room is full!")
    else:
        seats = int(
            input(
                f"How many seats do you want ({available_seats[room - 1]} available):"
            )
        )
        if seats > available_seats[room - 1]:
            print("That number of seats is not available.")
        elif seats < 0:
            print("Invalid number")
        else:
            available_seats[room - 1] -= seats
            sold[room - 1] += seats
            print(f"{seats} seats sold")
print("\nRoom utilization")
for room, available in enumerate(available_seats):
    print(f"Room {room + 1} – {available} seat(s) available")
print("\nSales by room")
total_sold = 0
for room, sales in enumerate(sold):
    print(f"Room {room + 1} – {sales} ticket(s) sold")
    total_sold += sales
print(f"Total tickets sold: {total_sold}")
