Advertisement
Guest User

Untitled

a guest
Nov 21st, 2014
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. def construireEnsemble(n):
  2. '''construit l ensemble des naturels jusqu'a n'''
  3. return n*[0]
  4.  
  5. def ajoutEnsemble(E,elem):
  6. '''ajoute un element dans un ensemble'''
  7. if elem>len(E):
  8. E=E+((elem-len(E))*[0])
  9. E[elem-1]=1
  10. return E
  11.  
  12. def suppressionEnsemble(E,elem):
  13. '''supprime un element dans un ensemble'''
  14. E[elem]=0
  15. return E
  16.  
  17. def afficherEnsemble(E):
  18. '''afficher un affichage d'ensemble'''
  19. r=[]
  20. for position,valeur in enumerate(E):
  21. if valeur==1:
  22. r+=position
  23. return set(r)
  24.  
  25. def union(E,F):#O(n)
  26. '''renvoie l'union de deux ensembles'''
  27. if len(E)>=len(F):
  28. maxrange=len(E)
  29. F=F+((maxrange-len(F))*[0])
  30. else:
  31. maxrange=len(F)
  32. E=E+((maxrange-len(E))*[0])
  33. union=[0]*maxrange
  34. for i in range(maxrange):
  35. if E[i]==1 or F[i]==1:
  36. union[i]=1
  37. return union
  38.  
  39. def intersection(E,F):#O(n)
  40. '''renvoie l'intersection de deux ensembles'''
  41. inter=[]
  42. if len(E)>=len(F):
  43. raccourcir=len(F)
  44. else:
  45. raccourcir=len(E)
  46. inter=[0]*raccourcir
  47. for i in range(raccourcir):
  48. if E[i]==1 and F[i]==1:
  49. inter[i]=1
  50. return inter
  51.  
  52. def differenceSymetrique(E,F):#O(n)
  53. '''renvoie la difference symetrique entre deux ensembles'''
  54. if len(E)>=len(F):
  55. maxrange=len(E)
  56. F=F+([0]*(maxrange-len(F)))
  57. else:
  58. maxrange=len(F)
  59. E=E+([0]*(maxrange-len(E)))
  60. delta=maxrange*[0]
  61. for i in range(maxrange):
  62. E[i]=E[i]-F[i]
  63. if E[i]==1:
  64. delta[i]=0
  65. return delta
  66.  
  67. if __name__=='__main__':
  68. e=[1,0,1,1,1,0,0]
  69. f=[1,1,0,1,0]
  70. print(construireEnsemble(5))
  71. print(union(e,f))
  72. print(intersection(e,f))
  73. print(differenceSymetrique(e,f))
  74. print(ajoutEnsemble(e,9))
  75. print(suppressionEnsemble(e,3))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement