Page 1 sur 1

Copié/collé d'un programme de PyCharm à la Ti Nspire CX II T

Message non luPosté: 04 Mai 2024, 20:48
de evamariaelisa
Bonsoir tout le monde,
J'ai tapé un programme sur Pycharm, je l'ai mis sur ma calculatrice en faisant 'copié/collé' dans un nouveau classeur Python dans les classeurs de ma calculatrice mais, lorsque je le lance, il m'affiche une erreur après 2 lignes de code.
Au tout début du code, je demande à l'utilisateur d'entrer une valeur (qui sera ensuite utilisée dans la suite), mais lorsque je rentre n'importe quel nombre, ça ne fonctionne pas, il me met une erreur comme quoi la syntaxe est invalide. Si quelqu'un peut me dire comment régler ce souci, ça serait cool, car je n'ai pas vraiment envie de devoir retaper tout mon code pour qu'il 'fit' dans la calculatrice. Merci !!
voici le code si ça peut rendre les choses plus claires:

Code: Tout sélectionner
import math

E1 = requestStr("Entrez le module de Young dans la direction longitudinale (El) en MPa: ")
N12 = requestStr("Entrez le coefficient de Poisson (nu): ")

# Convertir les valeurs saisies en nombres
E1 = float(E1)
N12 = float(N12)

print("Materiaux isotrope?")
print("1 Oui (alu...)")
print("2 Non (composites...)")
x = int(requestStr("Entrez votre choix (1 ou 2): "))

if x == 1:
    G12 = E1 / (2 * (1 + N12))
    E2 = E1
else:
    E2 = requestStr("Entrez le module de Young dans la direction transversale (Et) en MPa: ")
    G12 = requestStr("Entrez le module de cisaillement transverse (Glt) en MPa")

# Convertir les valeurs saisies en nombres
E2 = float(E2)
G12 = float(G12)

S = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
S[0][0] = 1 / E1
S[0][1] = -N12 / E1
S[1][0] = S[0][1]
S[1][1] = 1 / E2
S[2][2] = 1 / G12

print("S (10^-5 MPa^-1)= ")
for i in range(3):
    for j in range(3):
        S[i][j] = round(S[i][j] * 1e5, 2)
    print(S[i])

Q = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
Q[0][0] = E1 / (1 - (E2 * N12 ** 2 / E1))
Q[1][1] = E2 * Q[0][0] / E1
Q[0][1] = N12 * Q[1][1]
Q[1][0] = Q[0][1]
Q[2][2] = G12

print("Q (GPa)= ")
for i in range(3):
    for j in range(3):
        Q[i][j] = round(Q[i][j] * 1e-3, 2)
    print(Q[i])

a = int(requestStr("Nb de couches: "))

theta = [0] * a
h = [0] * (a + 1)

Sref_list = []
Qref_list = []

for i in range(a):
    print("Couche", i + 1)
    theta[i] = requestStr("Angle (deg): ")
    h[i] = requestStr("Épaisseur de la couche en mm: ")

    # Convertir les valeurs saisies en nombres
    theta[i] = float(theta[i])
    h[i] = float(h[i])

    theta_i = theta[i]
    S11 = S[0][0]
    S12 = S[0][1]
    S22 = S[1][1]
    S66 = S[2][2]

    c = math.cos(theta_i * 3.14 / 180)
    s = math.sin(theta_i * 3.14 / 180)

    Sref = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
    Sref[0][0] = S11 * c ** 4 + S22 * s ** 4 + (2 * S12 + S66) * s ** 2 * c ** 2
    Sref[0][1] = (S11 + S22 - S66) * s ** 2 * c ** 2 + S12 * (s ** 4 + c ** 4)
    Sref[1][0] = Sref[0][1]
    Sref[0][2] = (2 * (S11 - S12) - S66) * s * c ** 3 + (2 * (S12 - S22) + S66) * s ** 3 * c
    Sref[2][0] = Sref[0][2]
    Sref[1][1] = S11 * s ** 4 + S22 * c ** 4 + (2 * S12 + S66) * s ** 2 * c ** 2
    Sref[1][2] = (2 * (S11 - S12) - S66) * s ** 3 * c + (2 * (S12 - S22) + S66) * s * c ** 3
    Sref[2][1] = Sref[1][2]
    Sref[2][2] = 2 * (2 * (S11 + S22 - 2 * S12) - S66) * s ** 2 * c ** 2 + S66 * (s ** 4 + c ** 4)

    print("S' (10^-5 MPa^-1)= ")
    for j in range(3):
        for k in range(3):
            Sref[j][k] = round(Sref[j][k], 2)
        print(Sref[j])

    Sref_list.append(Sref)

    Q11 = Q[0][0]
    Q12 = Q[0][1]
    Q22 = Q[1][1]
    Q66 = Q[2][2]

    Qref = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
    Qref[0][0] = Q11 * c ** 4 + Q22 * s ** 4 + 2 * (Q12 + 2 * Q66) * s ** 2 * c ** 2
    Qref[0][1] = (Q11 + Q22 - 4 * Q66) * s ** 2 * c ** 2 + Q12 * (s ** 4 + c ** 4)
    Qref[1][0] = Qref[0][1]
    Qref[0][2] = (Q11 - Q12 - 2 * Q66) * s * c ** 3 + (Q12 - Q22 + 2 * Q66) * s ** 3 * c
    Qref[2][0] = Qref[0][2]
    Qref[1][1] = Q11 * s ** 4 + Q22 * c ** 4 + 2 * (Q12 + 2 * Q66) * s ** 2 * c ** 2
    Qref[1][2] = (Q11 - Q12 - 2 * Q66) * s ** 3 * c + (Q12 - Q22 + 2 * Q66) * s * c ** 3
    Qref[2][1] = Qref[1][2]
    Qref[2][2] = (Q11 + Q22 - 2 * Q12 - 2 * Q66) * s ** 2 * c ** 2 + Q66 * (s ** 4 + c ** 4)

    print("Q' (GPa)= ")
    for j in range(3):
        for k in range(3):
            Qref[j][k] = round(Qref[j][k], 2)
        print(Qref[j])

    Qref_list.append(Qref)

Re: Copié/collé d'un programme de PyCharm à la Ti Nspire CX

Message non luPosté: 04 Mai 2024, 21:10
de CaptainLuigi
Bonsoir, remplace requestStr par input ^^
(normalement ça devrait marcher... , vu que ça semble avoir le même comportement que ce que tu cherches et que requestStr n'est pas défini pas dans ton code c'est normal ^^ )