[Python] Problème pour un débutant

PHP, JavaScript, Python, C#, VB.NET, C++, etc, y compris d'autres types de langages (HTML, CSS, SQL)
Avatar du membre
YannisB
Membre fidèle
Membre fidèle
Messages : 160
Inscrit le : 11 avril 2019
Version d'Excel : Excel 2010

Message par YannisB » 25 novembre 2019, 11:53

Bonjour,
Je sais que ce n'est pas forcément l'endroit approprié mais beaucoup de personnes ici mon aidée par le passé et j'ai aujourd'hui un problème de programmation en Python, un langage que je ne connais pas bien.
Mon objectif est de modéliser un mirage, à savoir la réfraction d'un rayon lumineux dû au changement d'indice en fonction de la hauteur par rapport au sol.
Nous avons décidé de ne pas faire un gradient d'indice continu mais de faire varier l'indice d'un pas appelé "pas" toutes les couches d'épaisseur e.
Le programme doit contenir trois possibilités, à savoir, le rayon se réfracte et descend vers le sol, le rayon est réfléchi totalement et le rayon remonte.
Voici une illustration du problème pour que vous compreniez mieux:
problème info.png
Le code auquel j'avais pensé était celui ci, mais c'est un peu un hybrid Vba/python:
prob 1.jpg
prob 1.jpg (31.46 Kio) Vu 210 fois
prob 2.jpg
prob 2.jpg (37.94 Kio) Vu 210 fois

Mais quand j'essaye de le lancer il y a des problèmes notamment avec les listes, est ce que vous voyez une/des erreurs que j'ai faites? Savez vous à quoi ressemble mon idée en python?
F
Fatos
Membre habitué
Membre habitué
Messages : 85
Appréciations reçues : 13
Inscrit le : 17 octobre 2010
Version d'Excel : 2010 FR

Message par Fatos » 25 novembre 2019, 14:01

Bonjour YannisB,

Je veux bien dépanner sur Python même si ce n'est pas l'endroit approprié, mais dans les tous cas, un fichier facilite beaucoup l'aide !

Merci donc de joindre ton script Python (même non fonctionnel), mais aussi de préciser ta version de Python.

À te lire,

Fatos :wink:
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 7'083
Appréciations reçues : 695
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 1 décembre 2019, 01:02

Image.jpg
Image.jpg (27.99 Kio) Vu 134 fois
Avatar du membre
YannisB
Membre fidèle
Membre fidèle
Messages : 160
Inscrit le : 11 avril 2019
Version d'Excel : Excel 2010

Message par YannisB » 3 décembre 2019, 10:31

Désolé j'ai eu quelques jours chargés :lole:
Je vous ai fait un fichier, j'ai essayé de respecter au maximum la syntaxe python mais il est possible qu'il y ai des erreurs vu que je l'ai quasiment jamais utilisé.
Je n'arrive pas à envoyer le fichier .py, ça me dit qu'il n'est pas pris en charge, mais mon code est le suivant:
import matplotlib.pyplot as plt
import math
import numpy


R=0
Teta=[]
X=[]
Y=[]
teta=25
N=1
x=0
y=0
pas=0,1
e=0,5

for i in range (0,21):
 
    if teta >= math.asin(N/(N-pas)):
        R=1
        x=x+e*math.tan(teta)
        y=y-e
        Teta.append(teta)
        X.append(x)
        Y.append(y)
        N=N-pas
        
    elif R==1:
        teta=math.asin((N/(N-pas))*math.sin(teta))
        Teta.append(teta)
        y=y-e
        Y.append(y)
        x=x+e*math.tan(teta)
        X.append(x)
        N=N-pas
        
    else:
        teta=math.asin((N/(N+pas))*math.sin(teta))
        Teta.append(teta)
        y=y+e
        Y.append(y)
        x=x+e*math.tan(teta)
        X.append(x)
        N=N+pas
        
EDIT: Voici le fichier en archive
Projet.zip
(447 Octets) Pas encore téléchargé
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message