Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1909 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  un probleme dans mon code ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

un probleme dans mon code ?

n°1526987
scheme
Posté le 11-03-2007 à 02:34:52  profilanswer
 

bonjour,apparemment le code suivant est incorrect (3ème ligne).
mais je ne vois pas l'erreur,auriez vous une idée ?
 

Code :
  1. print "ce script recherche le plus grand de trois nombres"
  2. print "veuillez entrer trois nombres séparés par des virgules :"
  3. nn = list(input())
  4. max,index = nn[0], 'premier'
  5. if nn[1] > max:
  6.     max=nn[1]
  7.     index='second'
  8. if nn[2] > max:
  9.     max=nn[2]
  10.     index= 'troisieme'
  11. print "le plus grand nombre de ces nombres est", max
  12. print "ce nombre est le", index, "de votre liste."


 
merci d'avance :)

mood
Publicité
Posté le 11-03-2007 à 02:34:52  profilanswer
 

n°1526988
scheme
Posté le 11-03-2007 à 02:58:08  profilanswer
 

tant qu'on y est,sauriez -vous comment traduire la formule de gravitation en langage python,qui est la suivante:
 
http://pix.nofrag.com/be/7b/0ed7ae [...] d0c8d.html
 
sachant que m=a, m'=b et d²=c²
 
j'ai essayé
 

Code :
  1. 6.67**-11*(a*b)/(c**2)


 
mais visiblement c'est faux :(


Message édité par scheme le 11-03-2007 à 03:00:26
n°1527008
masklinn
í dag viðrar vel til loftárása
Posté le 11-03-2007 à 10:41:05  profilanswer
 

scheme a écrit :

bonjour,apparemment le code suivant est incorrect (3ème ligne).
mais je ne vois pas l'erreur,auriez vous une idée ?
 

Code :
  1. print "ce script recherche le plus grand de trois nombres"
  2. print "veuillez entrer trois nombres séparés par des virgules :"
  3. nn = list(input())
  4. max,index = nn[0], 'premier'
  5. if nn[1] > max:
  6.     max=nn[1]
  7.     index='second'
  8. if nn[2] > max:
  9.     max=nn[2]
  10.     index= 'troisieme'
  11. print "le plus grand nombre de ces nombres est", max
  12. print "ce nombre est le", index, "de votre liste."


     
merci d'avance :)


1. Il ne faut pas utiliser input(), jamais, utiliser raw_input à la place et convertir manuellement
2. C'est bien compliqué pour ce que tu veux faire... Python a une fonction max :o

Code :
  1. print "Saisir 3 nombres séparés par des virgulles"
  2. str_numbers = raw_input(">> " ).split("," ) # on récupère une liste de chaînes de caractères
  3. numbers = map(int, str_numbers) # qu'on transforme en une liste d'entiers
  4. print "Le plus grand des nombres est %d à l'index %d de la liste"%(max(numbers), numbers.index(max(numbers))


 
Pour l'autre truc...

Code :
  1. def gravitational_force(mass1, mass2, distance):
  2.    G = 6.6742**-11
  3.    return G * (mass1 * mass2) / distance**2


Message édité par masklinn le 11-03-2007 à 10:53:09

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1527043
scheme
Posté le 11-03-2007 à 13:23:10  profilanswer
 

merci beaucoup de m'avoir répondu :)
 
pour le premier code,ce n'est pas le mien,c'est celui d'un tutorial qui me permet d'apprendre ce langage.L'auteur avait mis input,ça ne marchait pas ,avec raw_input ça ne marche pas non plus,et ton code encore moins^^
 
pourtant je pense qu'il est bon,c'est ptet jext qui plante je sais pas trop :s en tout cas il dit qu'il y a une erreur a la troisieme ligne
 
merci beaucoup pour le deuxieme code :)

Message cité 1 fois
Message édité par scheme le 11-03-2007 à 13:23:43
n°1527044
masklinn
í dag viðrar vel til loftárása
Posté le 11-03-2007 à 13:49:20  profilanswer
 

scheme a écrit :

pour le premier code,ce n'est pas le mien,c'est celui d'un tutorial qui me permet d'apprendre ce langage.L'auteur avait mis input,ça ne marchait pas ,avec raw_input ça ne marche pas non plus,et ton code encore moins^^


[:petrus dei]

 

Le seul truc ne fonctionnant pas dans mon code est que j'ais oublié de fermer une parenthèse en recopiant le code depuis IDLE [:petrus75]

 

Et input() est à éviter pour des raisons de sécurité


Message édité par masklinn le 11-03-2007 à 13:49:50

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1527045
scheme
Posté le 11-03-2007 à 13:51:05  profilanswer
 

c'est ptet la parenthese qui fait planter qui sait^^
 
ok pour input :)


Message édité par scheme le 11-03-2007 à 13:51:35
n°1527145
scheme
Posté le 11-03-2007 à 22:51:11  profilanswer
 

comment définiriez-vous une fonction ligneCar(n, ca) qui renvoie une chaine de n caractères ca ?
 
ma question peut paraitre idiote et me faire passer pour un newbie (ce que je suis) mais j'aimerais bien avoir la réponse quand meme^^

n°1527149
masklinn
í dag viðrar vel til loftárása
Posté le 11-03-2007 à 23:13:17  profilanswer
 

J'ai pas compris la question [:petrus75]
 
Et accessoirement, on est pas censé faire les devoirs des gens [:petrus75]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1527151
scheme
Posté le 11-03-2007 à 23:18:27  profilanswer
 

j'ai réécrit la question telle qu'elle est posée^^
 
en fait j'ai trouvé la réponse:
 

Code :
  1. def ligneCar(n, ca):
  2.     return n * ca


 
c'était pas trop dur en fait  :sol:


Message édité par scheme le 12-03-2007 à 00:15:45
n°1531854
scheme
Posté le 21-03-2007 à 20:39:11  profilanswer
 

Code :
  1. # -*- coding:cp437 -*-
  2. from Tkinter import *
  3. from random import randrange
  4. # --- definition des fonctions gestionnaires d' événements : ---
  5. def drawline():
  6.     "tracé d'une ligne dans le cavenas can1"
  7.     global x1, y1, x2, y2, coul
  8.     can1.create_line(x1,y1,x2,y2,width=2,fill=coul)
  9.     # modification des coordonées pour la ligne suivante :
  10.     y2, y1= y2+10, y1- 10
  11. def changecolor():
  12.     "changement aléatoire de la couleur du travé"
  13.     global coul
  14.     pa1 = ['purple','cyan','maroon','green','red','blue','orange','yellow']
  15.     c = randrange(8)            # => génère un nombre aléatoire de0 à 7
  16.     coul = pal[c]
  17.     #--------- programme principal --------
  18.     # les variables suivantes seront utilisées de manière globale :
  19.     x1, y1, x2, y2= 10, 190, 190, 10       # coordonnées de la ligne
  20.     coul = 'dark green'                     # couleur de la ligne
  21.     # création du widget principal ("maître" ) :
  22.     fen1 = Tk()
  23.     # création des widgets "esclaves" :
  24.     can1 = Canvas(fen1,bg = 'dark grey',height=200,width=200)
  25.     can1.pack(side=LEFT)
  26.     bou1 = Button(fen1,text='Quitter', command=fen1.quit)
  27.     bou1.pack()
  28.     bou3 = Button(fen1,text='Autre couleur', command=changecolor)
  29.     bou3.pack()
  30.     fen1.mainloop()         # démarrage du réceptionnaire d'événements
  31.     fen1.destroy()          # destruction (fermeture) de la fenêtre


 
pourquoi quand je l'execute ça ne m'affiche absolument rien ? ^^


Message édité par scheme le 21-03-2007 à 22:10:08
mood
Publicité
Posté le 21-03-2007 à 20:39:11  profilanswer
 

n°1531870
masklinn
í dag viðrar vel til loftárása
Posté le 21-03-2007 à 21:36:46  profilanswer
 

Je sais pas, ptet parce que tu ne lui demandes jamais de se lancer [:pingouino]
 
(ah et accessoirement j'adore tes nommages, c'est tout de suite plus clair [:bien])


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1531876
scheme
Posté le 21-03-2007 à 21:55:56  profilanswer
 

ce code ne m'appartient pas, il fait partie du tutorial que j'apprends
 
bon alors question tres conne: comment faire pour lui demander de se lancer svp ?  :ange:

n°1531877
masklinn
í dag viðrar vel til loftárása
Posté le 21-03-2007 à 21:57:55  profilanswer
 

Je sais pas, tu pourrais essayer d'appeler la fonction changecolor(), ou encore mieux tu pourrais essayer d'indenter correctement la partie marquée "programme principal" [:el g]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1531880
scheme
Posté le 21-03-2007 à 22:05:34  profilanswer
 

ben je crois qu'il est correctement indenté lol^^
 
je vois pas ce qui pourrait amener à une indentation dans cette partie, toi si ?
 
je vais essayer pour changecolor()

n°1531884
masklinn
í dag viðrar vel til loftárása
Posté le 21-03-2007 à 22:11:52  profilanswer
 

scheme a écrit :

ben je crois qu'il est correctement indenté lol^^


Pas vraiment non, l'indentation correcte est celle ci:

Code :
  1. # -*- coding:utf-8 -*-
  2.  
  3. from Tkinter import *
  4. from random import randrange
  5.  
  6. # --- definition des fonctions gestionnaires d' événements : ---
  7. def drawline():
  8.    "tracé d'une ligne dans le cavenas can1"
  9.    global x1, y1, x2, y2, coul
  10.    can1.create_line(x1,y1,x2,y2,width=2,fill=coul)
  11.  
  12.    # modification des coordonées pour la ligne suivante :
  13.    y2, y1= y2+10, y1- 1
  14.  
  15. def changecolor():
  16.    "changement aléatoire de la couleur du travé"
  17.    global coul
  18.    pa1 = ['purple','cyan','maroon','green','red','blue','orange','yellow']
  19.    c = randrange(8)            # => génère un nombre aléatoire de0 à 7
  20.    coul = pa1[c]
  21.    
  22. #--------- programme principal --------
  23.  
  24. # les variables suivantes seront utilisées de manière globale :
  25. x1, y1, x2, y2= 10, 190, 190, 10       # coordonnées de la ligne
  26. coul = 'dark green'                     # couleur de la ligne
  27.  
  28. # création du widget principal ("maître" ) :
  29. fen1 = Tk()
  30. # création des widgets "esclaves" :
  31. can1 = Canvas(fen1,bg = 'dark grey',height=200,width=200)
  32. can1.pack(side=LEFT)
  33. bou1 = Button(fen1,text='Quitter', command=fen1.quit)
  34. bou1.pack()
  35. bou3 = Button(fen1,text='Autre couleur', command=changecolor)
  36. bou3.pack()
  37.  
  38. fen1.mainloop()         # démarrage du réceptionnaire d'événements
  39.  
  40. fen1.destroy()          # destruction (fermeture) de la fenêtre*


[:pingouino]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1531886
scheme
Posté le 21-03-2007 à 22:23:51  profilanswer
 

ah oui effectivement  :p  
 
merci,la une fenetre s'ouvre  :D
 
ya d'autres problème dans mon code,je vais essayer de les arranger..
 
merci d'avoir répondu  aussi vite :)

n°1531895
scheme
Posté le 21-03-2007 à 22:55:20  profilanswer
 

voila le code final qui marche :)
 

Code :
  1. # -*- coding:cp437 -*-
  2. from Tkinter import *
  3. from random import randrange
  4. # --- définition des fonctions gestionnaires d' événements : ---
  5. def drawline():
  6.     "tracé d'une ligne dans le cavenas can1"
  7.     global x1, y1, x2, y2, coul
  8.     can1.create_line(x1,y1,x2,y2,width=2,fill=coul)
  9.     # modification des coordonnées pour la ligne suivante :
  10.     y2, y1= y2+10, y1- 10
  11. def changecolor():
  12.     "changement aléatoire de la couleur du tracé"
  13.     global coul
  14.     pal = ['purple','cyan','maroon','green','red','blue','orange','yellow']
  15.     c = randrange(8)            # => génère un nombre aléatoire de 0 à 8
  16.     coul = pal[c]
  17. #--------- programme principal --------
  18. # les variables suivantes seront utilisées de manière globale :
  19. x1, y1, x2, y2= 10, 190, 190, 10       # coordonnées de la ligne
  20. coul = 'red'                     # couleur de la ligne
  21. # création du widget principal ("maître" ) :
  22. fen1 = Tk()
  23. # création des widgets "esclaves" :
  24. can1 = Canvas(fen1,bg = 'black',height=200,width=200)
  25. can1.pack(side=LEFT)
  26. bou1 = Button(fen1,text='Quitter', command = fen1.quit)
  27. bou1.pack(side=BOTTOM)
  28. bou2 = Button(fen1,text='Tracer une ligne', command=drawline)
  29. bou2.pack()
  30. bou3 = Button(fen1,text='Autre couleur', command=changecolor)
  31. bou3.pack()
  32. fen1.mainloop()         # démarrage du réceptionnaire d'événements
  33. fen1.destroy()          # destruction (fermeture) de la fenêtre


Message édité par scheme le 21-03-2007 à 23:14:44

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  un probleme dans mon code ?

 

Sujets relatifs
[PHP] problème code...Problème de code VBA
probleme code php readdir():probleme de code php pour atcivé un bouton desactivé
Probleme de code pour vérifier le statut d'un serveurProblème code CSS et image<< URGENT svp
Probleme avec l'evenement onclick dans du code html généré par jsProbleme avec un code....
Probleme avec mon code source pour les socketsProbleme code Html
Plus de sujets relatifs à : un probleme dans mon code ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)