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
| # -*- coding: latin-1 -*-
from sets import Set
import copy
#construction du produit cartésien par deux boucles imbriquées
def cartesien (E,F):
P=[]
while E:
x=E.pop()
G=copy.copy(F)#car la boucle suivante est destructrice
while G:
y=G.pop()
c=[x,y]
C=[c]
P.extend(C)
return P
#isomorphisme (A,(B,C)) (A,B,C)
def flat (L):
return L[1]+[L[0]]
def main():
Tailles=[30,32]
Couleurs=['jaune','rouge','bleu']
Textures=['Jeans','Cuir']
C1=cartesien(Couleurs,Textures)
C2=cartesien(Tailles,C1)
print [flat(X) for X in C2]
if __name__ == '__main__':
main() |
Partager