Professional Documents
Culture Documents
D'd'd'd'd'd'd'd'd'd'd'd'd'd'd'ddorrigo Mobile Phone Class
D'd'd'd'd'd'd'd'd'd'd'd'd'd'd'ddorrigo Mobile Phone Class
D'd'd'd'd'd'd'd'd'd'd'd'd'd'd'ddorrigo Mobile Phone Class
class dorrigo_mobile:
def get_copy_of_owner_contact(self):
""" returns a copy of the owner contact details
return None if the phone is off
"""
if self.phone_on == False:
return None
else:
return self.owner.create_copy()
if exist == False:
a=0
while a < self.max_contacts:
if self.contacts[a] == None:
self.contacts[a] = contact
break
a += 1
self.occupied += 1
return True
else:
return False
def get_number_of_contacts(self):
""" only works if phone is on
returns the number of contacts, or -1 if phone is off
"""
if self.phone_on == False:
return -1
else:
return self.occupied
def get_battery_life(self):
""" Return the battery life level as an integer. if the phone is off, zero is returned.
"""
if self.phone_on == False:
return 0
else:
return self.battery_life
def is_connected_network(self):
""" only works if phone is on.
returns True if the phone is connected to the network
"""
if self.phone_on == False:
return False
else:
return self.connected
def disconnect_network(self):
""" only works if phone is on.
when disconnecting, the signal strength becomes zero
always returns True
"""
if self.phone_on == False:
return False
if self.connected == True:
self.connected = False
self.signal_strength = 0
return True
if self.connected == False:
self.signal_strength = 0
return False
def connect_network(self):
""" only works if phone is on.
Connect to network
if already connected do nothing and return True
if connecting:
1) signal strength is set to 1 if it was 0
2) signal strength will be the previous value if it is not zero
3) it will cost 2 battery life to do so
returns the network connected status
"""
if self.phone_on == False:
return False
if self.connected == True:
return True
self.connected = True
if self.signal_strength == 0:
self.signal_strength = 1
if self.signal_strength != 0:
self.signal_strength = self.signal_strength
if self.use_phone(2) == True:
return self. connected
else:
return False
def get_signal_strength(self):
""" only works if phone is on.
returns a value in range [1,5] if connected to network
otherwise returns 0
"""
if self.phone_on == False:
return 0
else:
if self.connected == True:
if self.signal_strength >= 1 and self.signal_strength <=5:
return self.signal_strength
else:
return 0
else:
return 0
if self.connected == True:
self.signal_strength = new_strength
if self.signal_strength == 0:
self.connected = False
return True
def charge_phone(self):
""" each charge increases battery level by 10
the phone has overcharge protection and cannot exceed 100
returns True if the phone was charged by 10, otherwise False
"""
if self.battery_life > 90:
self.battery_life = 100
return False
else:
self.battery_life += 10
return True