rdm.py

Created by teivaetienne

Created on March 19, 2025

3.33 KB


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()

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.