-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathLorenzo-1.py
More file actions
196 lines (142 loc) · 4.26 KB
/
Lorenzo-1.py
File metadata and controls
196 lines (142 loc) · 4.26 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
#!/usr/bin/python
# Ouvrir le fichier data.txt
# et mettre les valeurs dans un dictionnaire et les trier
l = []
for line in open('data.txt'):
l.append(int(line.split(',')[1]))
d = {'Valeurs': l}
print(d)
# Second version
dic = dict()
file = open('data.txt', 'r')
txt = file.read()
dic = dict()
lst = txt.split('\n')
print('List : ', lst)
for line in lst:
item = line.split(',')
dic[item[0]] = int(item[1])
print('Dic : ', dic)
for key in sorted(dic):
print(key, '=>', dic[key])
file.close()
# Exercise 1 Création d'un dictionnaire trié à partir d'un fichier
print("\nExercise 1 Création d'un dictionnaire trié à partir d'un fichier : \n")
dic = dict()
file = open('data.txt', 'r')
lines = file.readlines()
file.close()
print('Lignes du fichier %s : %s' % (file.name, lines))
for row in lines:
item = row.split(',')
key = item[0].replace(' ', '')
val = int(item[1].rstrip())
dic[item[0]] = int(item[1])
# for key in sorted(dic):
# print(key, '=>', dic[key])
tup = [(key, val) for key, val in dic.items()]
tup.sort()
dic = dict((x, y) for x, y in tup)
print('\nDic trié par clé : ', dic)
tup = [(val, key) for key, val in dic.items()]
tup.sort()
# print (tup)
tup = [(key, val) for val, key in tup]
# print (tup)
dic = dict((y, x) for x, y in tup)
print('Dic trié par valeur : ', dic)
# Exercise 2 Création de fichier avec uniquement les WARNING
print("\nExercise 2 Création de fichier avec uniquement les WARNING : \n")
lst = []
file = open('jenkins.dat', 'r')
lines = file.readlines()
file.close()
for line in lines:
if "WARNING" in line:
lst.append(line)
out = open('lorenzo.ret', 'w')
out.writelines(lst)
print("Fichier écrit : ", out.name)
out.close()
# Exercise 3 Boucles while
# Initialisez deux entiers : a = 0 et b = 10.
# Écrire une boucle affichant et incrémentant la valeur de a tant qu’elle reste inférieure à celle de b.
# Écrire une autre boucle décrémentant la valeur de b et affichant sa valeur si elle est impaire. Boucler tant que b n’est pas nul.
print("\nExercise 3 Boucles while : \n")
a = 0
b = 10
while a < b:
a += 1
print("Valeur de a : ", a)
while b > 0:
b -= 1
if b % 2 != 0:
print("Valeur de b : ", b)
# Exercice 4 Mini base de données
print("\nExercice 4 Mini base de données : \n")
dic = dict()
# Affiche le Dic
def displayDic(k):
if k == "all":
print(dic)
else:
items = dic[k]
print(k, 'a', str(items[0]), 'ans et mesure', str(items[1]), 'm')
return
# Remplit le Dic
def fillDic():
print("Fonction d'ajout dans la base")
while 1:
nom = input("Entrez un nom ou appuyer sur Entrée pour sortir : ")
if nom == "":
break
else:
age = int(input("Entrez un âge : "))
taille = float(input("Entrez une taille : "))
dic[nom] = (age, taille)
displayDic('all')
return
# Recherche dans le Dic
def searchDic():
print("Fonction de recherche dans la base")
while 1:
nom = input("Entrez le nom de la personne à rechercher ou appuyer sur Entrée pour sortir : ")
if nom == "":
break
if nom in dic:
displayDic(nom)
break
else:
print("Cette personne n'est pas dans la base.")
break
return
fillDic()
searchDic()
# Exercice 5 Fonction recherchant les caractères communs à deux chaînes
print("\nExercice 5 Fonction recherchant les caractères communs à deux chaînes : \n")
s1 = 'SPAM'
s2 = 'SCAM'
def common(str1, str2):
common = []
for x in str1:
for y in str2:
if x == y:
common.append(x)
return common
print('Les caractères communs à', s1, 'et', s2, 'sont :', common(s1, s2))
# Exercice 6 Structure de données avec la fonction zip
print("\nExercice 6 Structure de données avec la fonction zip : \n")
file = open("email.txt", "r")
firsLine = file.readline()
otherLines = file.readlines()
file.close()
headers = firsLine.rstrip().split(',')
contacts = []
for line in otherLines:
contactFields = line.rstrip().split(',')
dic = {}
for h, f in zip(headers, contactFields):
dic[h] = f
contacts.append(dic)
print('email:', dic['email'], '--', dic['last'], ',', dic['first'])
print(contacts)