import math print("Script lancé !") input("Appuyez sur Entrée pour continuer...") def afficher_menu(): print("\n=== Calculatrice NumWorks - Formules de RDM et Matériaux ===") print("1. Contrainte normale (σ = F / A)") print("2. Contrainte tangentielle (τ = F / A)") print("3. Module de Young (E = σ / ε)") print("4. Moment quadratique (rectangle) (I = (b * h^3) / 12)") print("5. Moment quadratique (cercle) (I = (π * d^4) / 64)") print("6. Contrainte en flexion (σ = (M * y) / I)") print("7. Loi de Hooke (ΔL = (F * L0) / (A * E))") print("8. Résistance à la traction (R = σ_e * A)") print("9. Effort tranchant (V = F / L)") print("10. Moment fléchissant (M = (F * L) / 4)") print("0. Quitter") def saisir_valeur(texte): try: return float(input(texte + " : ")) except ValueError: print("Entree invalide, veuillez entrer un nombre.") return saisir_valeur(texte) def calculatrice(): print("Lancement de la calculatrice...") while True: afficher_menu() choix = input("Choisissez une option : ") if choix == "0": print("Fin du programme.") input("Appuyez sur une touche pour quitter...") break elif choix == "1": F = saisir_valeur("Force (N)") A = saisir_valeur("Surface (m2)") print("Contrainte normale :", F / A, "Pa") elif choix == "2": F = saisir_valeur("Force de cisaillement (N)") A = saisir_valeur("Surface (m2)") print("Contrainte tangentielle :", F / A, "Pa") elif choix == "3": sigma = saisir_valeur("Contrainte (Pa)") epsilon = saisir_valeur("Déformation (sans unite)") print("Module de Young :", sigma / epsilon, "Pa") elif choix == "4": b = saisir_valeur("Base (m)") h = saisir_valeur("Hauteur (m)") print("Moment quadratique (rectangle) :", (b * h**3) / 12, "m^4") elif choix == "5": d = saisir_valeur("Diamètre (m)") print("Moment quadratique (cercle) :", (3.1416 * d**4) / 64, "m^4") elif choix == "6": M = saisir_valeur("Moment (Nm)") y = saisir_valeur("Distance neutre (m)") I = saisir_valeur("Moment quadratique (m^4)") print("Contrainte en flexion :", (M * y) / I, "Pa") elif choix == "7": F = saisir_valeur("Force (N)") L0 = saisir_valeur("Longueur initiale (m)") A = saisir_valeur("Surface (m2)") E = saisir_valeur("Module de Young (Pa)") print("Allongement :", (F * L0) / (A * E), "m") elif choix == "8": sigma_e = saisir_valeur("Limite d'élasticité (Pa)") A = saisir_valeur("Section (m2)") print("Resistance à la traction :", sigma_e * A, "N") elif choix == "9": F = saisir_valeur("Charge (N)") L = saisir_valeur("Longueur (m)") print("Effort tranchant :", F / L, "N") elif choix == "10": F = saisir_valeur("Charge (N)") L = saisir_valeur("Longueur (m)") print("Moment flechissant :", (F * L) / 4, "Nm") else: print("Option invalide, veuillez choisir une option valide.") # if __name__ == "__main__": calculatrice()