Questions de noob

Questions de noob - Python - Programmation

Marsh Posté le 20-05-2008 à 05:25:52    

Salut tout le monde !
 
Bon voila, j'ai un petit projet à faire en python, j'ai quelques notions de programation, mais j'ai besoin de quelques réponses pour plusieurs petits problèmes.
 
Mon premier:  je veux faire rentrer par l'utilisateur une fonction, genre 2x + 2 peu importe. Je ne sais pas comment faire passer l'entrée de l'utilisateur qui va être une string en une fonction mathématique sur laquelle je peux faire des calculs (trouver le max, les racines, ce genre de truc).
Si j'utilise un  function = raw_input('rentrer la fonction: ')  bin je vois pas comment utiliser le résultat ensuite.
 
Mon deuxième: comment déclare-t-on une chaine de caractère ? J'ai besoin d'un truc qui puisse me faire ça :  
zob = "blablabla"
print zob[3]  
 
et que ca m'affiche le "a".  
 
Et troisième piti problème :
Quelqu'un peu m'indiquer un début d'idée d'algorithme pour trouver les limites d'une fonction en + et - l'infinie ? J'arrive pas à trouver un truc qui tienne debout.
 
Merci, si vous êtes sages, j'aurais surement plein d'autres questions  [:bambookillah]

Reply

Marsh Posté le 20-05-2008 à 05:25:52   

Reply

Marsh Posté le 20-05-2008 à 09:31:09    

Lis un tutoriel sur le python avant de te lancer dedans stp, c'est comme si tu demandais comment démarrer ton ordinateur là.
 
http://forum.hardware.fr/hfr/Progr [...] 4982_1.htm
Chapitre "lecture"

Reply

Marsh Posté le 20-05-2008 à 09:37:33    

akry a écrit :

Salut tout le monde !
 
Bon voila, j'ai un petit projet à faire en python, j'ai quelques notions de programation, mais j'ai besoin de quelques réponses pour plusieurs petits problèmes.
 
Mon premier:  je veux faire rentrer par l'utilisateur une fonction, genre 2x + 2 peu importe. Je ne sais pas comment faire passer l'entrée de l'utilisateur qui va être une string en une fonction mathématique sur laquelle je peux faire des calculs (trouver le max, les racines, ce genre de truc).
Si j'utilise un  function = raw_input('rentrer la fonction: ')  bin je vois pas comment utiliser le résultat ensuite.


Ben faut parser pour extraire une représentation interne de la fonction mathématique sur laquelle tu vas pouvoir faire ton brol.

akry a écrit :

Mon deuxième: comment déclare-t-on une chaine de caractère ? J'ai besoin d'un truc qui puisse me faire ça :  
zob = "blablabla"
print zob[3]  
 
et que ca m'affiche le "a".


Non seulement c'est la base de base, et donc comme chaica je te commencerais parapprendre le python un minimum (à commencer par, je sais pas moi, lire le tutoriel Python officiel peut-être?), mais en bonus si tu étais allé chercher par toi même tu aurais réalisé que les deux lignes que tu as écrites ici sont valides en Python et font (presque) exactement ce que tu veux.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 21-05-2008 à 00:08:06    

Bin ma deuxième est trivial je sais, mais la seule réponse que j'ai trouvée me semble un peu "moche" :  
 
string[i:i+1] pour avoir le caractère i, parce que ce que j'ai marqué plus haut ne marche pas. Après oui je peux me démerder, c'est certain,  mais vu que la réponse tient surement un moins de 20 caratères... bref.
 
Ensuite j'avais prévenu que c'était des questions de débutant, et j'ai pas trouvé réponse à mes deux autres questions dans les tutos.
Après les réponses y sont peut être, je suis pas programeur, je les vois pas, ou je les vois sans les comprendre peut être... mes excuses, mais encore une fois je ne suis pas dans l'info.
 
Donc ce genre de phrase :  

Citation :

Ben faut parser pour extraire une représentation interne de la fonction mathématique sur laquelle tu vas pouvoir faire ton brol.


c'est sympa, mais je comprends pas... en terme de code ca veut dire quoi ?
une fois que j'ai ma fonction en string, j'en fait quoi ? Tous les exemples sur les fonctions que j'ai vu, la fonction est rentré dans le code, et non pas par l'utilisateur.
Et pour les limites, bin j'ai rien trouvé tout simplement.
 
 
Bref, si j'étais bon, je poserais pas de questions c'est certain.

Message cité 1 fois
Message édité par akry le 21-05-2008 à 00:11:19
Reply

Marsh Posté le 21-05-2008 à 08:05:43    

akry a écrit :

string[i:i+1] pour avoir le caractère i, parce que ce que j'ai marqué plus haut ne marche pas. Après oui je peux me démerder, c'est certain,  mais vu que la réponse tient surement un moins de 20 caratères... bref.


 [:prozac]  
 
T'as essayé de comprendre en quoi "ça marchait pas" [:petrus dei]
 
Tu t'es pas dit que c'était ptet parce que t'avais rien compris à ce qui se passait [:petrus dei]

akry a écrit :


Donc ce genre de phrase :  

Citation :

Ben faut parser pour extraire une représentation interne de la fonction mathématique sur laquelle tu vas pouvoir faire ton brol.


c'est sympa, mais je comprends pas... en terme de code ca veut dire quoi ?


http://en.wikipedia.org/wiki/Parse

akry a écrit :

une fois que j'ai ma fonction en string, j'en fait quoi ?


Tu l'analyses [:spamafote]  

akry a écrit :

Et pour les limites, bin j'ai rien trouvé tout simplement.


C'est pas un problème de python ça, c'est un problème de maths & d'algo.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 22-05-2008 à 01:06:11    

Nan mais !! C'est exactement ce que je suis en train de te dire :  
 
JE COMPRENDS PAS !!!
 
C'est quoi qu'est pas claire la dedans ?  
Si je comprenais pourquoi "ca marchait pas" je corrigerais l'erreur et je serais pas ici. Je crois pas que l'algorithme et le python soient les fondamentaux de la culture populaire, donc j'assume parfaitement mon niveau merdique. Des informations, j'ai essayé d'en avoir, j'en ai trouvé certaines qui m'ont permis de commencer à faire ce que je voulais faire, et d'autre sur lesquelles je suis resté bloqué, malgré les documentations que j'avais. Alors voila je pose des questions, champion est celui qui arrivent à apprendre sans question, même triviale.
 
 
DONC, nous sommes sur un forum d'informatique, où le but est d'échanger des informations et des connaissances entre des gens, parmi lesquels ils y a des débutants. Je vais pas aller sur les chats de voila.fr pour avoir de l'aide non ?
Ne me fais pas passer pour le con qui par flegme demande une réponse toute faite sur un forum à la moindre de ses incompréhensions !
 

Citation :

string[i:i+1]


Ca marche, mais c'est moche, et c'est ce que j'ai trouvé sur une doc, je demande juste si il y a pas mieux vu que de couper la string avant la postition i et après la position i+1 pour isoler un caractère. Oublions cette question, il ne doit effectivement pas être bien dur de trouver ma réponse sur des tutos.

Citation :

Tu l'analyses [:spamafote]


Je me doute qu'il faut l'analyser, mais comment ? Par quelle méthode on transforme le 'x' sous forme de string en une variable à laquelle je peux donner un valeur ? Je vais regarder ton lien wiki, merci, mais je vois vraiment pas en quoi cette question est ridicule !

Citation :

C'est pas un problème de python ça, c'est un problème de maths & d'algo.


Oui comme une bonne partie des problèmes abordés dans la section python qui sont autant des problèmes liés à des erreurs d'algorithmes que de la syntaxe Python et d'autres.
 
Bref si t'es là pour te faire valoir de tes grandes compétences en info, génial je t'en félicite sincèrement, c'est une grande qualité d'être compétent dans ce domaine, mais je ne suis là pour subir les rejets de ta masturbation de cerveau !
Si tu es disposé à m'aider, à me faire partager sur ce que tu sais et que par la force des choses je ne sais pas, formidable oublions tout ça, mais si c'est pour me rappeler au combien je suis mauvais et me donner des brides d'informations incompréhensibles pour un débutant afin de te délecter de mon ignorance, passe ton chemin !!!!!

Reply

Marsh Posté le 22-05-2008 à 08:29:02    

akry a écrit :

Nan mais !! C'est exactement ce que je suis en train de te dire :  
 
JE COMPRENDS PAS !!!


Non mais je m'en fous de ça, le problème c'est surtout que t'essaies pas de comprendre [:mlc]

akry a écrit :


Citation :

string[i:i+1]


Ca marche, mais c'est moche, et c'est ce que j'ai trouvé sur une doc, je demande juste si il y a pas mieux vu que de couper la string avant la postition i et après la position i+1 pour isoler un caractère. Oublions cette question, il ne doit effectivement pas être bien dur de trouver ma réponse sur des tutos.


Je t'ai déjà répondu dans mon premier post [:mlc]

akry a écrit :

je vois vraiment pas en quoi cette question est ridicule !


à quel endroit j'ai dit qu'elle était ridicule [:petrus dei]

akry a écrit :


Oui comme une bonne partie des problèmes abordés dans la section python qui sont autant des problèmes liés à des erreurs d'algorithmes que de la syntaxe Python et d'autres.


Pas vraiment non.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 22-05-2008 à 17:47:13    

Pour comprendre il me faut des éléments nouveaux, chose que t'as du mal à donner, malgré ces questions qui doivent être facile pour un informaticien, et donc facilement clarifiable.

 

Merci quand même pour les quelques infos  :jap: ... surtout n'essaye pas d'être prof dans ta vie, et évite de cliquer lorsque tu vois "question de noob" la prochaine fois.

 

Message cité 2 fois
Message édité par akry le 22-05-2008 à 17:48:34
Reply

Marsh Posté le 22-05-2008 à 17:57:53    

akry a écrit :

Pour comprendre il me faut des éléments nouveaux


Non, il te faut juste réfléchir un peu, et regarder ce que donnait ta tentative initiale.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 22-05-2008 à 19:16:33    

akry a écrit :

Pour comprendre il me faut des éléments nouveaux, chose que t'as du mal à donner, malgré ces questions qui doivent être facile pour un informaticien, et donc facilement clarifiable.
 
Merci quand même pour les quelques infos  :jap: ... surtout n'essaye pas d'être prof dans ta vie, et évite de cliquer lorsque tu vois "question de noob" la prochaine fois.
 


 
T'as lu des tutoriaux?

Reply

Marsh Posté le 22-05-2008 à 19:16:33   

Reply

Marsh Posté le 23-05-2008 à 01:35:24    

masklinn a écrit :


Non, il te faut juste réfléchir un peu, et regarder ce que donnait ta tentative initiale.


 
oui oui c'est bon, j'ai compris et j'ai trouvé... A vrai dire je croyais que ca compilait pas, mais en fait si. Mes excuses pour cette question qui est effectivement débile, mon problème étant de "parser",  Oubliez ça !
 

chaica a écrit :


 
T'as lu des tutoriaux?


 
Oui, et j'ai déjà fait plein de programmes, j'utilise python pour faire des simulations de trajectoires. Lancer de projectile, avec rotation, sans rotation, vent, pas vent, résistance, frottement, etc...  
 
Bref, moi mon truc c'est des boucles avec des équadif dedans, des graphs etc... si j'ai une fonction je la rentre direct dans le code, et je bosse rarement avec des strings à vrai dire, et encore moins avec une interface pour l'utilisateur, mais mon prof me demande un soft pour traiter deux ou trois conneries et j'ai donc besoin de rendre le tout un peu plus accessible.
 
 
Ensuite, j'ai pas trouvé de tutoriaux qui m'indique comme m'y prendre pour trouver les limites d'une fonction... une idée de où trouver ce genre d'info ? En python ou pas, mais je vais quand même pas recréer un topic juste pour ça ???
 
 

Reply

Marsh Posté le 23-05-2008 à 08:06:26    

akry a écrit :

Ensuite, j'ai pas trouvé de tutoriaux qui m'indique comme m'y prendre pour trouver les limites d'une fonction... une idée de où trouver ce genre d'info ? En python ou pas, mais je vais quand même pas recréer un topic juste pour ça ???


Je serais toi, j'en recréerais un dans Algo, ou bien alors je poserais la question en cat science (pour demander des resources sur l'évaluation programmatique des limites d'une fonction)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 02-06-2008 à 23:01:36    

Bon bon...  
 
alors je suis allé faire un tour du coté de pyparsing... beaucoup de chose intéressante, je suis assez vite dépassé mais bon.
Mon problème est que je ne suis pas vraiment sur de chercher les bonnes solutions à mes problèmes.
 
Donc pour parser des fonctions un peu complexe (cos, sin, exp, etc) comment vous y prendriez vous ?  
 
Est-ce que pyparsing vous semble approprié ? Ca me semble compliqué pour quelques choses qui doit être extrêmement récurent en info... mais peut être que ca l'est pas tant que ça (compliqué).
 

Reply

Marsh Posté le 03-06-2008 à 08:11:53    

Ya absolument pas besoin d'un truc genre PyParsing pour des expressions pareilles.
 
http://gnosis.cx/TPiP/


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 04-06-2008 à 03:43:34    

ok, bonne adresse, mais c'est dense !!
 
 
Quid de la function eval ???  
 
fun= str(raw_input('enter function : '))  
eval(fun)
 
Elle semble faire ce que je veux, à l'exception qu'elle ne comprend pas la trigo , ni les exponentiels.
 
Il semble qu'on peut lui mettre plus d'argument qu'une simple string, mais j'ai pas tout compris à quoi ils servaient... peut-on étendre un peu ses  capacités ?
Il semble également que ca ne soit pas très propre d'utiliser eval... mais moi être scientifique, pas programmeur :)

Reply

Marsh Posté le 04-06-2008 à 03:50:42    

hop hop rectifications, j'avais juste oublié d'importer les fonctions mathématiques...

 

donc eval fait à vrai dire exactement ce que je veux... mais alors qu'elle est la diff entre ça et un parse ?


Message édité par akry le 04-06-2008 à 04:24:51
Reply

Marsh Posté le 04-06-2008 à 08:24:06    

Eval ça évalue du Python, donc on c'est limité à ce que propose Python, mais ça permet aussi de faire tout ce que Python peut faire, genre formatter la machine ou envoyer des mails [:petrus75]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 04-06-2008 à 23:57:25    

ouai l'idéal serait de faire pas mal de test sur ce que rentre l'utilisateur quoi...
 
Bon merci pour les infos.

Reply

Marsh Posté le 23-07-2008 à 16:33:53    

C'est quoi le problème au juste ?
 
Ca marche le zob[3] !


Message édité par basile238 le 23-07-2008 à 17:33:55
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed