Created
September 27, 2017 20:28
-
-
Save azamsharp/5d89c3d4c657647e0add5d7b3eb16c50 to your computer and use it in GitHub Desktop.
Pool Table Reservation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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