This commit is contained in:
2024-11-23 13:41:47 +01:00
parent fb915042df
commit 1ae8b6bac8
6 changed files with 0 additions and 155 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -1,72 +0,0 @@
from tri import triii
def dichotomie_maximum(arr: list):
"""cherche le maximum d'une liste triée de façon dichotomique
Args:
arr (list): la liste contenant le maximum
Returns:
int: le maximum
"""
arr = triii(arr)
if not arr:
return None
left, right = 0, len(arr) - 1
while left < right:
mid = (left + right) // 2
if arr[mid] > arr[mid + 1]:
right = mid
else:
left = mid + 1
return arr[left]
def dichotomie_minimum(arr: list)->int:
"""cherche le minimum d'une liste de façon dichotometrique trier !
Args:
arr (list): la liste
Returns:
int: le minimum
"""
arr = triii(arr)
if not arr:
return None
left, right = 0, len(arr) - 1
while left < right:
mid = (left + right) // 2
if arr[mid] < arr[mid + 1]:
right = mid
else:
left = mid + 1
return arr[left]
def trouver_indice_dichotomie(arr, x):
"""cherche l'élement x dans une liste arr
Args:
arr (list): la liste
x (int): l'élement
Returns:
int: l'indice de l'element dans la liste ou -1 s'il est absent
"""
arr = sorted(arr)
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == x:
return mid
elif arr[mid] < x:
left = mid + 1
else:
right = mid - 1
return None
liste = [i for i in range(20000)]
print(trouver_indice_dichotomie(liste,5624))

View File

@@ -1,52 +0,0 @@
from tri import triage, triii
total_tests = 0
successes = 0
failures = 0
def run_test(func, input_data, expected_output, test_name):
global total_tests, successes, failures
total_tests += 1
try:
result = func(input_data)
if result == expected_output:
print(f"[SUCCÈS] {test_name}")
successes += 1
else:
print(f"[ÉCHEC] {test_name}: attendu {expected_output}, mais obtenu {result}")
failures += 1
except Exception as e:
print(f"[ERREUR] {test_name}: exception {e}")
failures += 1
def test_triage():
run_test(triage, [], [], "triage avec liste vide")
run_test(triage, [5], [5], "triage avec un seul élément")
run_test(triage, [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], "triage avec liste déjà triée")
run_test(triage, [3, 1, 4, 2, 5], [1, 2, 3, 4, 5], "triage avec liste non triée")
run_test(triage, [9, 3, 7, 1, 5], [1, 3, 5, 7, 9], "triage avec liste non triée aléatoire")
def test_triii():
run_test(triii, [], [], "triii avec liste vide")
run_test(triii, [7], [7], "triii avec un seul élément")
run_test(triii, [1, 2, 3], [1, 2, 3], "triii avec liste déjà triée")
run_test(triii, [3, 2, 1, 4], [1, 2, 3, 4], "triii avec liste non triée")
run_test(triii, [6, 3, 9, 1, 2], [1, 2, 3, 6, 9], "triii avec liste non triée aléatoire")
if __name__ == '__main__':
print("Tests pour la fonction triage:")
test_triage()
print("\nTests pour la fonction triii:")
test_triii()
print("\n--- Résumé des tests ---")
print(f"Total de tests exécutés : {total_tests}")
print(f"Tests réussis : {successes}")
print(f"Tests échoués : {failures}")
if failures == 0:
print("Tous les tests ont réussi !")
else:
print(f"{failures} tests ont échoué.")

View File

@@ -1,18 +0,0 @@
def triage(liste:list) -> list:
if len(liste) < 2:
return list
for i in range(len(liste)-1):
if liste[i] > liste[i+1]:
liste[i], liste[i+1] = liste[i+1], liste[i]
return triage(liste)
return liste
def triii(liste: list) -> list:
if liste == [] :
return []
mini = 0
for i in range(1, len(liste)):
if liste[i] < liste[mini]:
mini = i
liste[0], liste[mini] = liste[mini], liste[0]
return [liste[0]] + triii(liste[1:])

View File

@@ -1,13 +0,0 @@
import requests
from bs4 import BeautifulSoup
def search(url):
r = requests.get(url)
return r.text
def search_urls_in_text(content):
soup = BeautifulSoup(content, 'html5lib')
hrefs = [a['href'] for a in soup.find_all('a', href=True)]
return hrefs
print(search_urls_in_text(search("https://google.com")))