def saisirk(): k=0 while(not(2<=k<=15)): k=int(input('Donner k entre 2 et 15 :')) return k #Module nombre d occurence d un carcatere dans une chaine def occCar(c,ch): nb=0 for i in range(len(ch)): if(c==ch[i]): nb+=1 return nb #Modules pour trier une chaine #Module position caractere max dans une chiane def posMax(ch): pmax=0 for i in range(1,len(ch)): if(ch[i]>ch[pmax]): pmax=i return pmax #Module créer une chaine trié (tri ducréation) def triChaine(ch): ch1='' for i in range(len(ch)): ch1=ch1+ch[posMax(ch)] ch=ch[:posMax(ch)]+ch[posMax(ch)+1:]#supprimer le caractere max dela chaine# return ch1 #Module création de fichier Robinson.txt def suiteRob(k): f=open('Robinson.txt','w') ch='0' f.write(ch+'\n') for i in range(k): ch1='' ch=triChaine(ch) i=0 while i<len(ch): ch1=ch1+str(occCar(ch[i],ch))+ch[i] i+=occCar(ch[i],ch) ch=ch1 f.write(ch+'\n') f.close() #**********Programme Principal***********# k=saisirk() suiteRob(k)