# Exercice 1 def mystere( L , x ): cpt= 0 for i in L : if i > x: cpt= cpt + 1 if cpt == 3: return True else: cpt= 0 return False juilletTempMax= list((19,23,25,31,34,32,35,29,26,24,26,22,23,26,28,31,34,37,26,24,22,23, 24,23,23,21,23,26,30,26,25)) # Questions 1 et 2) tempCaniculeCalvados= 30 print(mystere(juilletTempMax, tempCaniculeCalvados)) # i | 19 | 23 | 25 | 31 | 34 | 32 | # cpt | 0 | 0 | 0 | 1 | 2 | 3 | # Valeur retournée : True # Question 3) tempCaniculeGironde= 35 print(mystere(juilletTempMax, tempCaniculeGironde)) # Valeur retournée : False # Question 4) # mystere(L,x) retourne True si la liste L contient au moins 3 valeurs consécutives # strictement supérieures à x. # Exercice 2 # Question 1 def aGele(ListeTemperatures): for t in ListeTemperatures: if t < 0: return True return False print(aGele([1, 0, 2, 8, 6, 9])) print(aGele([1, 0, -2, 8, 6, 9])) # Question 2 def aPluTousLesJours(ListePrecipitations): for p in ListePrecipitations: if p == 0: return False return True print(aPluTousLesJours([1, 0, 20, 80, 60, 90])) print(aPluTousLesJours([8, 30, 20, 23, 16, 19])) # Exercice 3 # Question 1 def estDiviseur(i, n): return n%i == 0 # Question 2 def sommeDiviseurs(n): s = 0 for i in range (1, n): if estDiviseur(i, n): s = s + i return s # Question 3 print(sommeDiviseurs(6)) print(sommeDiviseurs(15)) # 15 n'est pas parfait car la somme de ses diviseurs (strictement < 15) est : 1+3+5 = 9 print(sommeDiviseurs(28)) # 28 est parfait car : 1 + 2 + 4 + 7 + 14 = 28 # Question 4 def estParfait(n): return sommeDiviseurs(n) == n print(estParfait(6)) print(estParfait(15)) print(estParfait(28)) # Exercice 4 from PIL.Image import * def degradeHorizontal(img): for x in range(img.width): for y in range(img.height): c = 256 * x // img.width Image.putpixel(img, (x, y), (c, c, c)) img1 = new("RGB", (300, 100)) degradeHorizontal(img1) Image.show(img1) def degradeDiagonale(img): for x in range(img.width): for y in range(img.height): c = int(256 * (x / img.width + y / img.height)/2) Image.putpixel(img, (x, y), (c, c, c)) degradeDiagonale(img1) Image.show(img1) # Exercice 5 # Question 1 def pixelsFonces(img, seuil): for x in range(img.width): for y in range (img.height): (r,g,b) = Image.getpixel(img, (x, y)) if (r+g+b)//3 > seuil: Image.putpixel(img, (x, y), (255, 255, 255)) # Question 2 img2 = open("chien.jpeg") pixelsFonces(img2, 72) Image.show(img2)