Tuto Python [Python] - Python - Programmation
Marsh Posté le 21-12-2003 à 14:32:18
kasax se répondant à lui meme ;-) :
en modifiant les fonctions comme ca , ca marche :
|
Marsh Posté le 21-12-2003 à 14:50:33
le eval c'est très bof. fait plutot float/int, c'est moins dangereux
Marsh Posté le 23-12-2003 à 15:32:37
nouvelle question par rapport à l'exercice 68, toujours avec la lib Tkinter :
comment peut on redéfinir la couleur de remplissage d'un ovale dans un canvas ?
j'ai essaye ca :
|
mais j'ai une belle erreur 'int' object has no atribute 'fill'
Taz ?? un ptit coup de main please ?
Marsh Posté le 23-12-2003 à 19:39:11
C'est marrant, pour moi l'erreur que j'obtiens avec ton code est ça :
Code :
|
Marsh Posté le 23-12-2003 à 23:52:21
can.create_oval renvoie un int représentant l'id de l'oval si je me souviens
Marsh Posté le 24-12-2003 à 09:02:41
c'est bon j'ai trouvé :
on peut utiliser la methode itemconfigure pour modifier un objet dont on a le Id :
can.itemconfigure(balle,fill='white') |
Marsh Posté le 24-12-2003 à 10:00:54
Nouvelle partie : les fichiers
la je copie texto le tuto et ce ne passe pas, j'ai un problème sur mon poste ou c'est un pb dans le tuto ?
>>> import pickle |
==>
Traceback (most recent call last): |
Marsh Posté le 24-12-2003 à 11:26:29
ben oui justement c'est le tuto fourni dans la section doc de python.org
Marsh Posté le 24-12-2003 à 11:27:22
oui ben justement sur python.org y a la doc du module pickle
Marsh Posté le 24-12-2003 à 12:01:14
le fait de relancer idle fait que ca marche... j'avais ptet oublie de fermer le fichier...
>>> a,b,c=5,2.1,55
>>> f=open("monfic.txt","w" )
>>> import pickle
>>> pickle.dump(a,f)
>>> pickle.dump(b,f)
>>> pickle.dump(c,f)
Marsh Posté le 03-01-2004 à 12:20:18
Ce tuto est génial mais personne ne sait où l'on peut recuperer les réponses aux problèmes posés dans le manuel ?
De temps en temps je galère avant de trouver où j'ai fait une erreur.
Marsh Posté le 03-01-2004 à 14:38:36
taz a écrit : ben si t'as des questions, pose-les |
Jusque ici j'ai réussi à trouver moi-même. Mais à l'avenir je n'hesiterais plus à partager avec vous mes problèmes et mes fonctions pourrâves.
Marsh Posté le 11-01-2004 à 12:00:21
on est bien d'accord que import * est fortement déconseillé
Marsh Posté le 11-01-2004 à 12:08:45
Oui mais lorsque l'on fait son code n'est-il pas mieux de taper un import * pour eviter de ce limiter ensuite une fois qu'on à fini recenser tout ce que l'on à utiliser et ne plus faire import *
Dans le cas de tkinter non plus ?!
Marsh Posté le 11-01-2004 à 12:14:07
jamais.
et justement quand tu programmes, il faut réduire tout de suite les possibiblités de collisions. faire des from import raisonnables ça c'est ok. ou alors des import as.
Marsh Posté le 20-01-2004 à 13:02:42
vraiment bien foutu ce tuto !
puissant le python :
15 lignes de code pour afficher les nombres premiers de 0 à 1000 , qui dis mieux ??
Marsh Posté le 20-01-2004 à 16:42:16
fé voir
|
Marsh Posté le 20-01-2004 à 17:20:58
Code :
|
Mais je pense qu'on peut faire plus compact
Marsh Posté le 20-01-2004 à 17:29:41
ReplyMarsh Posté le 20-01-2004 à 17:31:07
lol
tiens une question en passant pourquoi le ++ n'est pas implemente en python ?
>>> cpt=1
>>> cpt++
SyntaxError: invalid syntax
Marsh Posté le 20-01-2004 à 17:35:01
kayasax a écrit : lol |
pour la même raison qu'il ne l'est pas en ruby : pas de sémantique claire.
mais t'as de la chance, y'a 2/3 ans, y'avait pas non plus de +=
Marsh Posté le 20-01-2004 à 17:53:17
ah bah c'est tres bien += tu viens de m'apprendre que c'était possible en python cooool
Marsh Posté le 21-01-2004 à 12:51:24
Y a t'il un moyen simple de "nettoyer" une valeur récupérée d'un tuple ??
exemple :
|
affiche :
{'dm': (36, 1.75), 'lm': (26, 1.8600000000000001), 'jml': (36, 1.8400000000000001)}
L'élève dm a (36,) ans et mesure (1.75,) m
L'élève lm a (26,) ans et mesure (1.8600000000000001,) m
L'élève jml a (36,) ans et mesure (1.8400000000000001,) m
Marsh Posté le 21-01-2004 à 12:55:23
C'est juste un problème d'affichage en fait. Utilise un formateur du style de %f qui est fait pour afficher des flottants déjà, et indique lui le nombre de chiffres après la virgule à considerer comme ça :
"%.5f"
Accessoirement, passe à Python 2.3.2 car quand j'ai testé le %s, ça m'a affiché correctement le nombre
Marsh Posté le 21-01-2004 à 13:35:36
print "L'élève %s a %s ans et mesure %.2f m" % (i , eleve[i][0:1] ,eleve[i][1:2])
TypeError: float argument required
mes 2 dernieres valeurs sont des tuples et pas des float donc je ne peux pas faire ca.
Ce que je voudrais surtout c'est qu'il ne m'affiche pas les parentheses ni la virgule (en gros convertir un tuple en float ou string)
sinon je suis déja en v 2.3.2-1
A+
Marsh Posté le 21-01-2004 à 14:06:40
Tu peux soit exmploser ton tuple comme ça :
Code :
|
, soit tu fais ça :
Code :
|
Marsh Posté le 21-01-2004 à 14:10:46
Merci Kristoph ca roule !
print "L'élève %s a %s ans et mesure %s m" % (i , eleve[i][0:1][0] ,eleve[i][1:2][0])
Marsh Posté le 03-03-2004 à 14:53:44
grrr... j'ai du mal à trouver ce que je cherche dans leur doc en ligne, c'est assez mal foutu je trouve...
j'ai créé une classe qui herite de la classe scale maintenant on me demande de l'entourer d'une bordure avec une couleur différente.
J'arrive à faire la bordure avec ca : self.controle[i].configure(bd=2,relief=SOLID) mais pas a changer sa couleur qq sait comment faire ?
Merci
Marsh Posté le 04-03-2004 à 16:31:15
hou pinaise pétage de plombs là !!
si quelqun a fait ce tuto (ex n° 157) merci de me le dire parceque je ne comprends pas mon erreur .
Thanks
Marsh Posté le 05-03-2004 à 08:27:51
euh...en fait j'ai trouvé ma connerie probleme de working directory, désolé
Marsh Posté le 08-03-2004 à 12:21:29
pour ma 1ere appli (objet) est ce que qqun peut confirmer que ce que j'ai fait est correct par rapport aux principes de la POO ??
sujet : creer une appli avec un canevas et un scale qui fera varier la taille d'un cercle dessiné dans le canevas :
|
Merci, a+
Marsh Posté le 21-12-2003 à 14:14:35
Edit : je vais regrouper mes questions sur le tutorial de G. SWINNEN (http://www.ulg.ac.be/cifen/inforef/swi/python.htm)
cela pourra peut être en aider d'autes ...
Salut, je continue toujours le tuto de python
j'ai un petit souci pour faire cet exercice:
" Ecrivez un petit programme qui fait apparaître une fenêtre avec deux champs : l'un indique
une température en degrés Celsius, et l'autre la même température exprimée en degrés
Fahrenheit. Chaque fois que l'on change une quelconque des deux températures, l'autre est
corrigée en conséquence. "
J'ai essayé ca actuellement :
#conversion des °C en °F et vice-versa
from Tkinter import *
def toC(event):
degreF=eval(far.get())
degreC=(degreF-32)/1.8
celcius.configure(text=degreC)
def toF(event):
degreC=eval(celcius.get())
degreF=degreC*1.8+32
far.configure(text=degreF)
fen=Tk()
Label(fen,text="Température en Celcius : ",fg="navy" ).grid()
Label(fen,text="Temp en f :",fg="navy" ).grid(row=0,column=1)
celcius=Entry(fen)
celcius.bind("<Return>",toF)
celcius.grid(row=1)
far=Entry(fen)
far.grid(row=1,column=1)
far.bind("<Return>",toC)
fen.mainloop()
mais quand je rentre une valeur dans un champ et fait entree, l'autre champ ne se met pas à jour ... c'est bon l'instruction celcius.configure(text=degreC) pour un widget entry ?
Merci
Message édité par kayasax le 23-12-2003 à 15:23:34