Skip to content

Instantly share code, notes, and snippets.

@azamsharp
Created September 27, 2017 20:28
Show Gist options
  • Save azamsharp/5d89c3d4c657647e0add5d7b3eb16c50 to your computer and use it in GitHub Desktop.
Save azamsharp/5d89c3d4c657647e0add5d7b3eb16c50 to your computer and use it in GitHub Desktop.
Pool Table Reservation
import datetime
poolTables = []
class PoolTable:
def __init__(self):
self.number = 0
self.startDate = 0
self.endDate = 0
self.status = 'not reserved'
self.timePlayed = 0
def reserve(self):
self.startDate = datetime.datetime.now()
self.status = 'reserve'
def close(self):
self.endDate = datetime.datetime.now()
self.timePlayed = self.endDate - self.startDate
self.status = 'open'
def closeTable(tableNumber):
poolTable = poolTables[tableNumber - 1]
poolTable.close()
def reserveTable(tableNumber):
poolTable = poolTables[tableNumber - 1]
poolTable.reserve()
def createPoolTables(no):
# run a loop and create the tables and stores them in the array
for x in range(no):
# create pool table and put in the list
pool = PoolTable()
pool.number = x+1
poolTables.append(pool)
def showPoolCloseMenu():
tableNumber = int(raw_input('Enter Table number to close'))
closeTable(tableNumber)
print('Table Number %d has been closed' %tableNumber)
def showPoolReservationMenu():
tableNumber = int(raw_input('Enter table number to reserve'))
reserveTable(tableNumber)
print('Table Number %d has been reserved' %tableNumber)
def showPoolTableStatus():
for table in poolTables:
print('-------------')
print('Table Number: %d' %table.number)
print('Start Date: %s' %table.startDate)
print('End Date: %s' %table.endDate)
print('Time Played %s' %table.timePlayed)
print('Status: %s' %table.status)
print('-------------')
numberOfTables = int(raw_input('How many pool tables do you need?'))
print("Creating %s Pool Tables ....." % numberOfTables)
createPoolTables(numberOfTables)
# run a while loop which is asking user for its input for diff options
while True:
choice = int(raw_input(
"""
Enter 1 to list all tables
Enter 2 to reserve a table
Enter 3 to close out a table
Enter 4 to quit
Your Choice """))
if choice == 1:
showPoolTableStatus()
elif choice == 2:
showPoolReservationMenu()
elif choice == 3:
showPoolCloseMenu()
elif choice == 4:
break
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment