Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def construireEnsemble(n):
- '''construit l ensemble des naturels jusqu'a n'''
- return n*[0]
- def ajoutEnsemble(E,elem):
- '''ajoute un element dans un ensemble'''
- if elem>len(E):
- E=E+((elem-len(E))*[0])
- E[elem-1]=1
- return E
- def suppressionEnsemble(E,elem):
- '''supprime un element dans un ensemble'''
- E[elem]=0
- return E
- def afficherEnsemble(E):
- '''afficher un affichage d'ensemble'''
- r=[]
- for position,valeur in enumerate(E):
- if valeur==1:
- r+=position
- return set(r)
- def union(E,F):#O(n)
- '''renvoie l'union de deux ensembles'''
- if len(E)>=len(F):
- maxrange=len(E)
- F=F+((maxrange-len(F))*[0])
- else:
- maxrange=len(F)
- E=E+((maxrange-len(E))*[0])
- union=[0]*maxrange
- for i in range(maxrange):
- if E[i]==1 or F[i]==1:
- union[i]=1
- return union
- def intersection(E,F):#O(n)
- '''renvoie l'intersection de deux ensembles'''
- inter=[]
- if len(E)>=len(F):
- raccourcir=len(F)
- else:
- raccourcir=len(E)
- inter=[0]*raccourcir
- for i in range(raccourcir):
- if E[i]==1 and F[i]==1:
- inter[i]=1
- return inter
- def differenceSymetrique(E,F):#O(n)
- '''renvoie la difference symetrique entre deux ensembles'''
- if len(E)>=len(F):
- maxrange=len(E)
- F=F+([0]*(maxrange-len(F)))
- else:
- maxrange=len(F)
- E=E+([0]*(maxrange-len(E)))
- delta=maxrange*[0]
- for i in range(maxrange):
- E[i]=E[i]-F[i]
- if E[i]==1:
- delta[i]=0
- return delta
- if __name__=='__main__':
- e=[1,0,1,1,1,0,0]
- f=[1,1,0,1,0]
- print(construireEnsemble(5))
- print(union(e,f))
- print(intersection(e,f))
- print(differenceSymetrique(e,f))
- print(ajoutEnsemble(e,9))
- print(suppressionEnsemble(e,3))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement