Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Python et eval()
Shadow15510 Hors ligne Administrateur Points: 4981 Défis: 16 Message

Python et eval()

Posté le 10/03/2020 21:26

Bonjour à tous !

Je suis en train de faire un interpréteur de langage naturel en python pour l’instant c’est pas mal : on entre son code en êcriture naturelle ligne par ligne et le programme donne le code en Python. La prochaine étape est donc l’execution automatique du code et c’est là que ça coince : eval(« a = 2 ») renvoie une erreur...

Je voudrais savoir si c’est une limite du langage ou si il y a une manière d’écrire différente ? Et, dans le pire des cas, si on peut contourner les limites d’eval() ?

Merci d’avance !


Lephenixnoir En ligne Administrateur Points: 20809 Défis: 143 Message

Citer : Posté le 10/03/2020 21:30 | #


eval() ne sait faire que des calculs, si tu veux exécuter du code Python arbitraire, il y a exec().

Généralement, il ne faut utiliser ni l'un ni l'autre, mais bon, fais comme tu peux.
Shadow15510 Hors ligne Administrateur Points: 4981 Défis: 16 Message

Citer : Posté le 10/03/2020 21:32 | #


Okay merci ! Je connaissais pas

C’est pour aider une amie qui sait pas programmer xD donc même si c’est pas safe c’est pas trop grave...
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque


LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 50 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd