Created
September 18, 2020 18:51
-
-
Save azamsharp/3927a171a1c966348e7ffddd1d0f4d57 to your computer and use it in GitHub Desktop.
Pool Table
This file contains hidden or 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
from datetime import datetime | |
class PoolTable: | |
def __init__(self, table_number): | |
self.table_number = table_number | |
self.start_time = None | |
self.end_time = None | |
self.time_played = None | |
def check_out(self): | |
self.start_time = datetime.now() | |
def check_in(self): | |
self.end_time = datetime.now() | |
# timedelta | |
self.time_played = self.end_time - self.start_time | |
def format_time(dt): | |
if dt is None: | |
return "N/A" | |
else: | |
return dt.strftime('%m-%d-%y %H:%M:%S') | |
def format_time_played(time_played): | |
output = f"{round(time_played.total_seconds()/60)} min, {round(time_played.total_seconds())} seconds" | |
return output | |
def display_table(table): | |
output = f""" | |
Table No: {table.table_number} | |
Start Time: {format_time(table.start_time)} | |
End Time: {format_time(table.end_time)} | |
Time Played: {format_time_played(table.time_played)} | |
""" | |
print(output) | |
pt = PoolTable(10) | |
pt.check_out() | |
pt.check_in() | |
display_table(pt) | |
#start_time = datetime.now() | |
# format time | |
#start_time_formatted = start_time.strftime('%m-%d-%y %H:%M:%S') | |
#print(start_time_formatted) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment