1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| class SMSStore():
def __init__(self): #Méthode constructeur pour attribuer à chaque instance sa boite de réception
self.box=[]
def clear(self): #Méthode qui permet de vider la liste de l'instance de classe
self.box=[]
# Méthode qui prend trois argument et crée une variable has_been_viewed avec False comme valeur de base. Ensuite j'ajoute à la liste box de l'instance de classe une liste contenant la variable has_been_viewed avec sa valeur False et un tuple contenant les 3 paramètres
def add_new_arrival(self,from_number,time_arrived,text_of_SMS):
has_been_viewed = False
self.box.append([has_been_viewed,(from_number,time_arrived,text_of_SMS)])
def message_count(self): #Méthode qui retourne le nombre de sous liste (SMS) de notre liste box de l'instance de classe
return(len(self.box))
def get_message(self,i): #Méthode qui prend en argument un chiffre qui sera l'index, ensuite on vérifie que l'index est bien présent dans la liste.Si oui,modification de la sous-liste situé à l'index i dans la liste box de notre instance de classe en modifiant la première valeur de cette sous-liste (la variable has_been_viewed) par True. On retourne ensuite le tuple qui est situé à la deuxieme position de notre sous-liste. Si l'index i n'est pas dans la liste on retourne rien
if i < self.message_count():
self.box[i][0] = True
return(self.box[i][1])
else:
return()
def get_unread_indexes(self): #Méthode qui crée une liste vide et parcourt la liste box de notre instance de classe. Elle regarde la première valeure de chaque sous liste situé dans la liste box, si cette valeur est false on ajoute l'index de cette sous-liste à notre liste vide (variable local). On retourne ensuite la liste index
index=[]
for k in self.box:
if k[0]==False:
index.append(self.box.index(k))
return(index)
p1 = SMSStore()
p1.add_new_arrival('048647777','10:00','Je suis là')
print(p1.get_unread_indexes())
print(p1.get_message(0)) |
Partager