I’m getting a name error when I try to use the morbid bed_start_time(). The method is so I can Keep track of what time the housekeeper started cleaning the room. I would like the time is added to a dictionary so I can keep track of all the times and room numbers. I would like to try and figure out the rest of the method but I’m stuck on a simple name error. Thanks for any help or advice.
Traceback (most recent call last):
File "/private/var/mobile/Library/Mobile Documents/iCloud~com~omz-software~Pythonista3/Documents/worksheet1.py", line 42, in
start_t1 = room_1.bed_start_time()
File "/private/var/mobile/Library/Mobile Documents/iCloud~com~omz-software~Pythonista3/Documents/worksheet1.py", line 19, in bed_start_time
room_with_times_dict [self.room_num] = bed_start_time
NameError: name 'self' is not defined
import datetime
import time
class Room (object):
def __init__ (self, room_num, house_keeper_num, room_start_time, room_end_time, room_start_cleaning, iso_type, running_time):
self.room_num = room_num
self.house_keeper_num = house_keeper_num
self.room_start_time = room_start_time
self.room_end_time = room_end_time
self.iso_type = iso_type
self.running_time = running_time
def bed_start_time():
room_with_times_dict = {}
bed_start_time = datetime.datetime.now()
room_with_times_dict [self.room_num] = bed_start_time
return bed_start_time
def bed_end_time():
bed_end_time = datetime.datetime.now()
return bed_end_time
def __str__():
pass
dirty_rooms = [430, 6218, 520, 452, 444, 423,660,123,877,223,254,220,659,315,550,5228]
#if the house keeper is assigned to the room the the rooms times will be used for the cleaning times
room_1 = Room
room_1.room_num = 430
room_1.iso_type = 'COVID'
room_2 = Room
room_2.room_num = 6218
room_2.iso_type = 'None'
#room start time
start_t1 = room_1.bed_start_time()
#time delay
time.sleep(9)
#room end time
end_t1 = room_1.bed_end_time()
start_t2 = room_2.bed_start_time()
time.sleep(12)
end_t2 = room_2.bed_end_time()
start_t3 = datetime.datetime.now()
time.sleep(7)
end_t3 = datetime.datetime.now()
start_t4 = datetime.datetime.now()
time.sleep(1)
end_t4 = datetime.datetime.now()
#amount of time taken to clean the room
elapsed_t1 = end_t1 - start_t1
elapsed_t2 = end_t2- start_t2
elapsed_t3 = end_t3- start_t3
elapsed_t4 = end_t4- start_t4
#total time to clean all rooms
total_time = elapsed_t1 + elapsed_t2 + elapsed_t3 + elapsed_t4
#avg time to clean a room
avg_time = total_time / 4
#sort list by length of time. longest time is first.
sorted_rooms_by_time_ = []
times = [elapsed_t1, elapsed_t2, elapsed_t3, elapsed_t4]
sorted_times = sorted(times, reverse=True)
print(sorted_times)
dddd = {}
print('Start Time 1:\n',start_t1.time(),'\n')
print('End Time 1:\n',end_t1.time(),'\n')
print('Elapsed Time 1:\n',elapsed_t1,'\n')
print('Elapsed Time 2:\n', elapsed_t2,'\n')
print('Elapsed Time 3:\n', elapsed_t3,'\n')
print('Total Time:\n',total_time,'\n')
print('Avg Time:\n',avg_time,'\n')
print(room_with_times_dict)