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