diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/A2.iml b/.idea/A2.iml
new file mode 100644
index 0000000..8b8c395
--- /dev/null
+++ b/.idea/A2.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/discord.xml b/.idea/discord.xml
new file mode 100644
index 0000000..d8e9561
--- /dev/null
+++ b/.idea/discord.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..46bfd59
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..f6b067f
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TP1/.idea/.gitignore b/TP1/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/TP1/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/TP1/.idea/TP1.iml b/TP1/.idea/TP1.iml
new file mode 100644
index 0000000..2c80e12
--- /dev/null
+++ b/TP1/.idea/TP1.iml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TP1/.idea/discord.xml b/TP1/.idea/discord.xml
new file mode 100644
index 0000000..30bab2a
--- /dev/null
+++ b/TP1/.idea/discord.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TP1/.idea/inspectionProfiles/profiles_settings.xml b/TP1/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/TP1/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TP1/.idea/misc.xml b/TP1/.idea/misc.xml
new file mode 100644
index 0000000..59ddb5f
--- /dev/null
+++ b/TP1/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/TP1/.idea/modules.xml b/TP1/.idea/modules.xml
new file mode 100644
index 0000000..0cc9f92
--- /dev/null
+++ b/TP1/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TP1/.idea/vcs.xml b/TP1/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/TP1/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TP1/tp1.py b/TP1/tp1.py
new file mode 100644
index 0000000..2366df5
--- /dev/null
+++ b/TP1/tp1.py
@@ -0,0 +1,63 @@
+def celsius_fahrenheit(celcius):
+ return celcius * 9 / 5 + 32
+
+
+def mention(note):
+ if note < 0:
+ return "Note hors échelle"
+ if note < 10:
+ return "Insuffisant"
+ elif note < 12:
+ return "Passable"
+ elif note < 14:
+ return "Assez bien"
+ elif note < 16:
+ return "Bien"
+ elif note < 18:
+ return "Très bien"
+ elif note < 20:
+ return "Note hors échelle"
+ else:
+ return "Note hors échelle"
+
+
+def nombres_pairs(n):
+ return [i for i in range(n) if i % 2 == 0]
+
+
+def remplacer(texte, caractere, nouveau_caractere):
+ return "".join([nouveau_caractere if c == caractere else c for c in texte])
+
+
+def est_palindrome(texte):
+ return texte == texte[::-1]
+
+
+def triplets_pythagoriciens(n):
+ return [(a, b, c) for a in range(1, n) for b in range(a, n) for c in range(b, n) if a ** 2 + b ** 2 == c ** 2]
+
+
+def diviseurs(n):
+ return [i for i in range(1, n + 1) if n % i == 0]
+
+
+def est_parfait(n):
+ return sum(diviseurs(n)) == n * 2
+
+
+def occurrences_lettres(mot):
+ return {c: mot.count(c) for c in mot}
+
+
+points_lettres = {
+ 1 : ["E", "A", "I", "N", "O", "R", "S", "T", "U", "L"],
+ 2 : ["D", "M", "G"],
+ 3 : ["B", "C", "P"],
+ 4 : ["F", "H", "V"],
+ 8 : ["J", "Q"],
+ 10 : ["K", "W", "X", "Y", "Z"]
+}
+
+
+def calculer_score(mot, points_lettres):
+ return sum([points for points, lettres in points_lettres.items() for lettre in mot.upper() if lettre in lettres])