Problème¶
Partrie I¶
Question 1¶
In [ ]:
#Question1
def SaisieLogiciel():
d={}
while True:
des=input('designation DE Max 20 cara')
if len des<=20:
# d['designation']=des
break
d['Designation']=des
while True:
lic=input('licence L ou ...')
if lic.lower() in 'lcp' and len(lic)==1:
# if lic.lower() in {'l','c','p'}:
break
d['Licence']=lic
d['Editeur']=input('donner editeur')
# d['AnneeEdition']=int(input('donner annee edition'))
while True:
annee_str=input('donner annee edition')
if annee_str.isdigit():break
d['AnneeEdition']=int(annee_str)
d['Version']=input('donner version')
d['TailleDisque']=int(input('donner taille disque'))
return d
Question 2¶
In [ ]:
#Question2
def AjoutLogiciel(L,X):
L.append(X)
Question 3¶
In [ ]:
#Question3- 1ere methode
def ListLogicielParEditeur(L,e):
LE=[]
for logi in L:
if logi['Editeur']==e:LE.append(logi)
return tuple(LE)
In [ ]:
#Question3- 2eme methode
def ListLogicielParEditeur(L,e):
return tuple([logi for logi in L if logi['Editeur']==e])
Question 4¶
In [ ]:
#Question 4- 1ere methode
def EspaceTotalOccupe(L):
s=0
for logi in L:
s+=logi['TailleDisque']
return s
In [ ]:
#Question 4- 2eme methode
def EspaceTotalOccupe(L):
return sum([logi['TailleDisque'] for logi in L])
Question 5¶
5- RechercheLogiciel:Une fonction qui prend en parametre une list de logiciels L et permet de retourner le rang d'un logiciel dans la listL connaissant sa designation d donee en parametre. si le logiciel n esxist pas on retourne -1
In [ ]:
#Question 5- 1ere meethod
def RecherchLogiciel(L,d):
for i in range(len(L)):
if L[i]['Designation']==d:
return i
return -1
In [ ]:
#Question 5- 2eme method
def RecherchLogiciel(L,d):
for logi in L:
if logi['Designation']==d:
return L.index(logi)
return -1
Question 6¶
In [ ]:
#Question6- 1ere method
def NombreLogicielCommercial(L):
n=0
for e in L:
if e['Licence'].lower()=='c':n+=1
return n
In [ ]:
#Question6- 2eme method
def NombreLogicielCommercial(L):
# return [e for e in L if e['Licence'] in 'cC' ]
return len(['x' for e in L if e['Licence'].lower()=='c' ])
Partrie II¶
Question 7¶
In [ ]:
#Question7
def EspaceOccupe(O):
return EspaceTotalOccupe(O['LogInst'])
# return EspaceTotalOccupe(O.get('LogInst'))
Question 8¶
In [ ]:
#Question8
def InstallerLogiciel(O,x)
espaceLibre=O['CapaciteDisque']-EspaceOccupe(O)
if espaceLibre>=x['tailleDisque']:
AjoutLogiciel(O['LogInst'],x)
# O['LogInst'].append(x)
Question 9¶
In [ ]:
# Question 9- 1ere methode
def DesinstallerLogiciel(O,d):
i=RecherchLogiciel(O['LogInst'],d)
if i!=-1:
O['LogInst'].popo(i)
In [ ]:
# Question 9- 2eme methode
def DesinstallerLogiciel(O,d):
l=[]
for logiciel in O['LogInst']:
# if logiciel['designation']==d:continue
if logiciel['designation']!=d:
l.append(logiciel)
O['LogInst']=l
Question 10¶
In [ ]:
def videOrdinateur(O):
O['logInst']=[]
# l.clear()