print('\nExercice 4\n') ## Question 4.1 def nombre_présents(liste_résultats): n = 0 for i in range(len(liste_résultats)): if liste_résultats[i] != "ABS": n = n+1 return n ## Question 4.2 def moyenne(liste_résultats): somme = 0 for i in range(len(liste_résultats)): if liste_résultats[i] != "ABS": somme = somme + liste_résultats[i] return somme/len(liste_résultats) ## Question 4.3 def bilan(liste_résultats): tab = [0] * 3 for i in range(len(liste_résultats)): if liste_résultats[i] == "ABS": tab[2] = tab[2]+1 elif liste_résultats[i] <10: tab[1] = tab[1]+1 else: tab[0] = tab[0]+1 return tab print('\nExercice 5\n') def entrelacement(s1,s2) : # Le assert est facultatif. Il permet de s'assurer que la condition est bien vérifiée. assert len(s1) == len(s2) res = '' for i in range(len(s1)) : res = res + s1[i] + s2[i] return res print(entrelacement("abc",'123')) print('\nExercice 6\n') def bien_ponctuée(s) : for i in range(len(s)) : if s[i] == '.' and i != len(s) - 1 and s[i+1] != ' ' : return False return True assert bien_ponctuée('Un. Deux.') == True assert bien_ponctuée('Trois.Quatre.')==False def bien_ponctuée_bis(s) : for i in range(len(s)) : if s[i] == '.' : if i != len(s) - 1 : if s[i+1] != ' ' : return False return True assert bien_ponctuée_bis('Un. Deux.')==True assert bien_ponctuée_bis('Trois.Quatre.')==False print('\nExercice 7\n') def est_pangramme(s) : alphabet = 'abcdefghijklmnopqrstuvwxyz' s = s.lower() # on aurait pu écrire "for i in range(len(alphabet))" puis s[i] # au lieu de c dans la suite for c in alphabet : if not (c in s) : return False return True assert est_pangramme('abcdefghijklmnopqrstuvwxyz')==True assert est_pangramme('Portez ce vieux whisky au juge blond qui fume.')==True assert est_pangramme('Portez ce jeune cognac à l’avocat roux qui fulmine.')==False def est_pangramme_bis(s) : s = s.lower() for i in range(26): if chr(ord('a') + i) not in s : return False return True assert est_pangramme_bis('abcdefghijklmnopqrstuvwxyz')==True assert est_pangramme_bis('Portez ce vieux whisky au juge blond qui fume.')==True assert est_pangramme_bis('Portez ce jeune cognac à l’avocat roux qui fulmine.')==False print('\nExercice 8\n') def est_bien_parenthesée(s) : n = 0 # <- n est le nombre de parenthèses ouvertes non encore fermées dans s[:i] for i in range(len(s)) : if s[i] == '(' : n = n + 1 elif s[i] == ')' : n = n - 1 if n < 0 : return False return n == 0 assert est_bien_parenthesée('(1+2)×(x+(1-3))') == True assert est_bien_parenthesée('(1+2)×(x+1-3))') == False assert est_bien_parenthesée('(1+2)×()x+(1-3))') == False