-
Notifications
You must be signed in to change notification settings - Fork 0
/
Ex3_Functions.py
87 lines (84 loc) · 2.13 KB
/
Ex3_Functions.py
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
84
85
86
87
def isFloat(n):
check = False
for i in range(len(n)):
if not(n[i].isdigit()):
if (n[i]=='.' or n[i]==',') and check==False:
check=True
else:return False
return True
hcd = []
def remplir(hcd):
while True:
v={}
while True:
identifiant = input("saisir l'identifiant: \t")
if identifiant.isdigit():
val = int(identifiant)
if val not in [x.get(id) for x in hcd]:
v["id"] = val
break
v["libelle"] = input("saisir la libelle: \t")
while True:
montant = input("saisir le montant: \t")
if isFloat(montant):
montant = float(montant)
v["montant"]=montant
break
while True:
statut = input("saisir le statut : \t")
if statut.lower() in ["en cours", "achevé"]:
v["statut"] = statut
break
hcd.append(v)
choix = input("Entrer un autre element? o/n")
if choix.lower() not in ["o","oui"]:
break
def afficher(t):
for i in t:
print(i)
"""def afficherFiltré(t):
for i in t:
if i["statut"].lower() == "en cours":
print(i)"""
def affichageFiltré(t):
for x in [y for y in t if y.get("statut").lower() == "en cours"]:
print(x)
def montantGlobal(t):
return sum([x.get("montant") for x in t])
def modifier(t):
while True:
identifiant = input("saisir l'identifiant: \t")
if identifiant.isdigit():
identifiant=int(identifiant)
while True:
montant = input("saisir le montant: \t")
if isFloat(montant):
montant = float(montant)
for x in t:
if x.get("id") == identifiant:
x["montant"] = montant
def insert(t):
v={}
while True:
identifiant = input("saisir l'identifiant: \t")
if identifiant.isdigit():
val = int(identifiant)
if val not in [x.get(id) for x in hcd]:
v["id"] = val
break
v["libelle"] = input("saisir la libelle: \t")
while True:
montant = input("saisir le montant: \t")
if isFloat(montant):
montant = float(montant)
v["montant"]=montant
break
while True:
statut = input("saisir le statut : \t")
if statut.lower() in ["en cours", "achevé"]:
v["statut"] = statut
break
j=0
while t[j]["id"] < v.get("id"):
j+=1
t.insert(j,v)