-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.py
More file actions
83 lines (65 loc) · 1.59 KB
/
Copy pathmain.py
File metadata and controls
83 lines (65 loc) · 1.59 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
from random import *
max_charge = 100
number_of_charges = 10
number_of_voyages = 0
numero_du_voyage = [1]
charges = []
voyages = []
def create_charges():
for _ in range(number_of_charges):
charge = randint(1, max_charge)
charges.append(charge)
print("Charges générées : ", charges[:])
print(
"Charge Totale : ",
sum(charges),
"(voyages:",
int(sum(charges) / max_charge),
"+)",
)
charges.sort()
print("Charges par ordre croissant : ", charges[:])
print("")
def creer_un_voyage(voyage):
if sum(charges) < max_charge:
print(
"Le dernier voyage contient :",
charges[:],
", soit un total de :",
sum(charges),
)
charges.clear()
else:
voyage = [charges.pop()]
if sum(voyage) > max_charge:
envoyer(voyage)
else:
peser(voyage)
def peser(voyage):
while sum(voyage) < max_charge:
ajouter_paquet(voyage)
else:
envoyer(voyage)
def envoyer(voyage):
while sum(voyage) > max_charge:
supprimer_le_dernier_paquet(voyage)
print(
"Le voyage",
sum(numero_du_voyage),
"contient :",
voyage[:],
", soit un total de :",
sum(voyage),
)
numero_du_voyage.append(1)
def ajouter_paquet(voyage):
voyage.append(charges[0])
voyage.sort()
del charges[0]
def supprimer_le_dernier_paquet(voyage):
charges.append(voyage[0])
charges.sort()
del voyage[0]
create_charges()
while charges:
creer_un_voyage(voyages)