Ajout de l'exercice pour le 14
This commit is contained in:
parent
3c4584f2a4
commit
4f1a9e8281
44
Chapitre 1 - Des bases en python/ex_pour_le_14_sept.py
Normal file
44
Chapitre 1 - Des bases en python/ex_pour_le_14_sept.py
Normal file
|
@ -0,0 +1,44 @@
|
|||
# Exercice 1
|
||||
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
|
||||
|
||||
# Exercice 2
|
||||
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
|
||||
|
||||
# Exercice 3
|
||||
from math import sqrt
|
||||
|
||||
def distance(point1: tuple[float, float], point2: tuple[float, float]) -> float:
|
||||
""" Calcule et renvoie la distance entre deux points. """
|
||||
return sqrt((point1[0] - point2[0])**2 + (point1[1] - point2[1])**2)
|
||||
|
||||
assert distance((1, 0), (5, 3)) == 5.0, "erreur de calcul"
|
||||
|
||||
def plus_courte_distance(tab, depart):
|
||||
""" Renvoie le point du tableau tab se trouvant à la plus
|
||||
courte distance du point depart."""
|
||||
if not tab:
|
||||
return None
|
||||
point = tab[0]
|
||||
min_dist = distance(tab[0], depart)
|
||||
for i in range (1, len(tab)):
|
||||
if distance(tab[i], depart) < min_dist:
|
||||
point = tab[i]
|
||||
min_dist = distance(tab[i], depart)
|
||||
return point
|
||||
|
||||
def plus_courte_distance(tab, depart): # Meilleur version
|
||||
""" Renvoie le point du tableau tab se trouvant à la plus
|
||||
courte distance du point depart."""
|
||||
return min(tab, key=lambda p: distance(p, depart))
|
||||
|
||||
assert plus_courte_distance([(7, 9), (2, 5), (5, 2)], (0, 0)) == [2, 5], "erreur"
|
Loading…
Reference in a new issue