forked from exo7math/python1-exo7
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmarkdown_code_3_2.py
More file actions
46 lines (30 loc) · 1.29 KB
/
Copy pathmarkdown_code_3_2.py
File metadata and controls
46 lines (30 loc) · 1.29 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
def coupures_espaces(long):
""" Calcule les coupures des mots pour un alignement à gauche (avec espaces)
Entrée : une suite de longueurs (une liste d'entiers)
Sortie : la liste des indices où effectuer la coupure """
coupures = [0]
i = 1
while i < len(long):
somme = long[i-1]
while (i < len(long)) and (somme <= longueur_totale):
somme += longueur_espace + long[i]
i += 1
if somme > longueur_totale:
coupures += [i-1]
coupures += [len(long)]
return coupures
################################################
def afficher_coupures_espaces():
""" Test : affiche les coupures avec espaces """
print("\n--- Coupures avec espaces ---")
print("Longueurs des mots :",longueurs)
coupures = coupures_espaces(longueurs)
print("Coupures :",coupures)
for i in range(len(coupures)-1):
ligne = longueurs[coupures[i]:coupures[i+1]]
nb_espaces = len(ligne)-1
somme = sum(ligne) + nb_espaces*longueur_espace
print("\nLigne",i,":",ligne,"\nIndices",coupures[i],"à",coupures[i+1]-1,"= longueur[",coupures[i],":",coupures[i+1],"]","\nSomme avec espaces =",somme,"Reste =",longueur_totale-somme,)
return
# Test
afficher_coupures_espaces()