import numpy as np
D = 1.50  # distance fente-écran en mètres
# largeurs de fente a en µm
a_microns = np.array([  ,  ,  ,  ,  ]) # À COMPLÉTER
a = a_microns * 1e-6  # conversion en mètres
# Mesures de L relevées en mètres
L_cm = np.array([ , , , , ]) # À COMPLÉTER
L = L_cm * 1e-2 # conversion en mètres
# Calcul de la longueur d'onde lambda
lambda_calc = (L * a) / (2 * D)
# Affichage des résultats
print("Calcul de λ pour chaque mesure :")
for i in range(len(a)):
    print(f"Fente a = {a_microns[i]:>3} µm, L = {L[i]:.3f} m -> λ = {lambda_calc[i]*1e9:.1f} nm")

# Calcul de la moyenne
lambda_moy = np.mean(lambda_calc)
# Calcul de l'incertitude-type (éval. type A) pour 5 mesures
u_lambda = np.std(lambda_calc, ddof=1) / np.sqrt(5)

print(f"\n λ_diff: {lambda_moy*1e9:.0f} nm    ; incertitude-type u(λ_diff) : {u_lambda*1e9:.0f} nm")
