from random import choice def tableau_croise(intitules1,intitules2,n): echantillon=[] L1=len(intitules1) L2=len(intitules2) for i in range(n): echantillon.append([choice(intitules1),choice(intitules2)]) a=[[0]*len(intitules2)] for i in range(L1-1): a+=[[0]*len(intitules2)] for k in range(n): i = intitules1.index(echantillon[k][0]) j = intitules2.index(echantillon[k][1]) a[i][j]+=1 etiquettes=["Effectifs",intitules2[0],intitules2[1],intitules2[2],"Total"] ligne1=[intitules1[0],a[0][0],a[0][1],a[0][2],a[0][0]+a[0][1]+a[0][2]] ligne2=[intitules1[1],a[1][0],a[1][1],a[1][2],a[1][0]+a[1][1]+a[1][2]] ligne3=["Total",a[0][0]+a[1][0],a[0][1]+a[1][1],a[0][2]+a[1][2],n] tab=[etiquettes,ligne1,ligne2,ligne3] form="{0:15}{1:^10}{2:^10}{3:^10}{4:^10}" # ^ sert à centrer le texte. 10 est la largeur en nombre de caractères for val in tab: print(form.format(*val))