From e4cc0dc36d41ae2d41afb4ca715cce515dbf3ec0 Mon Sep 17 00:00:00 2001 From: Tipragot Date: Thu, 7 Sep 2023 19:05:46 +0200 Subject: [PATCH] =?UTF-8?q?D=C3=A9but=20exercices?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Chapitre 1/exercices.py | 91 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 Chapitre 1/exercices.py diff --git a/Chapitre 1/exercices.py b/Chapitre 1/exercices.py new file mode 100644 index 0000000..c1bf02a --- /dev/null +++ b/Chapitre 1/exercices.py @@ -0,0 +1,91 @@ +# Exercice 1 +def mini(L): + """renvoie le minimum de la liste L.""" + return min(L) + +def mini(L): # Alternative + """renvoie le minimum de la liste L.""" + m = 999999999999999999999 + for v in l: + if v < m: m = v + return m + +# Exercice 2 +def occurences(n:int)-> list: + """compte les occurences de chaque chiffre dans le nombre entré.""" + occurrences = [0] * 10 + for digit in str(n): + occurrences[int(digit)] += 1 + return occurrences + +def occurences2(s:str) -> dict[str, int]: + """compte les occurences de chaque caractère dans la string entrée.""" + occurrences = {} + for char in s: + occurrences[char] = occurrences.get(char, 0) + 1 + return occurrences + +cette_phrase='gkjgkfjdfjtgmeek,beeknqel!kh56456fg535574ϛ Ϝ ϝ Ϟ‡ ˆ ϟ‡ Ϡ ϡ Ϣ ϣ Ϥ ϥ Ϧ ϧ Ϩϛ Ϝ ϝ Ϟ ϟ Ϡ ϡ ϛ Ϝ ϝ Ϟ ϟ Ϡ ϡ Ϣ ' +print(cette_phrase,occurences2(cette_phrase)) + +# Exercice 3 +def repet(liste:list)-> bool : + """renvoie True s'il y a au moins une répétition dans la liste entrée, + renvoie False sinon.""" + return len(set(liste)) != len(liste) + +def repet(liste:list)-> bool : + """renvoie True s'il y a au moins une répétition dans la liste entrée, + renvoie False sinon.""" + occurences = {} + for v in liste: + if v in occurences: + return True + occurences[v] = 1 + return False + + +def repet2(texte:str)-> (bool, dict) : + """renvoie de plus la liste des répétitions avec les effectifs. + Si un caractère ou un motif apparait x fois, avec x > 1, + on convient qu'il y a (x-1) répétitions.""" + return repet(texte), occurences2(texte) + +phrase='gkjgkfjdfjtgmeek,beeknqel!kh56456fg535574' + +# Exercice 4 +def fusion(liste1:list,liste2:list)-> list : + """liste1 et liste2 sont déjà triées croissantes. + Renvoie liste_fusion qui est la concaténation ORDONNEE des deux listes""" + liste_fusion = [] + i, j = 0, 0 + while i < len(liste1) and j < len(liste2): + if liste1[i] < liste2[j]: + liste_fusion.append(liste1[i]) + i += 1 + else: + liste_fusion.append(liste2[j]) + j += 1 + liste_fusion.extend(liste1[i:]) + liste_fusion.extend(liste2[j:]) + return liste_fusion + + +print(fusion([1,5,8,9,13,15],[2,5,6,7,100])) + + + + + + + + + + + + + + + + +