tofstory Posté(e) 26 février 2006 Share Posté(e) 26 février 2006 (modifié) Bonjour ! Avis a tous ceux qui souhaitent apprendre a programmer avec python, j ai trouvé un livre que l on peut librement telecharger gratuitement biensur en français. A télécharger ici . J'ésper que cela vous faira plaisirs et qu il vous servira. Bonne lecture. Tof Modifié 27 février 2006 par sk8er Lien vers le commentaire Partager sur d'autres sites More sharing options...
Thomas95 Posté(e) 26 février 2006 Share Posté(e) 26 février 2006 370 pages ba merci jvé regarder dedant Lien vers le commentaire Partager sur d'autres sites More sharing options...
Thomas95 Posté(e) 26 février 2006 Share Posté(e) 26 février 2006 (modifié) j'arrive a rien c'est normal ?!!! exemple donnée dans ton fichier : # A) Température fournie en °C :tempC = 25 # Conversion en °Fahrenheit : tempF = tempC * 1.8 + 32 # Affichage : print tempC, "°C =", tempF, "°F" # Température fournie en °F : tempF = 25 # Conversion en °Celsius : tempC = (tempF - 32) / 1.8 # Affichage : print tempF, "°F =", tempC, "°C" et si je lance ce fichier avec XBMC ba .. rien ne se passe c'est normal ?? en plus sa ressemble vachement au PHP alor sa m'intéresse beaucoup ^_^ mais si sa se lance pas je doit louper quelque chose Modifié 26 février 2006 par Thomas95 Lien vers le commentaire Partager sur d'autres sites More sharing options...
alexsolex Posté(e) 26 février 2006 Share Posté(e) 26 février 2006 # A) Température fournie en °C :tempC = 25 # Conversion en °Fahrenheit : tempF = tempC * 1.8 + 32 # Affichage : print tempC, "°C =", tempF, "°F" # Température fournie en °F : tempF = 25 # Conversion en °Celsius : tempC = (tempF - 32) / 1.8 # Affichage : print tempF, "°F =", tempC, "°C" et si je lance ce fichier avec XBMC ba .. rien ne se passe c'est normal ?? en plus sa ressemble vachement au PHP alor sa m'intéresse beaucoup ^_^ mais si sa se lance pas je doit louper quelque chose Il faut distinguer la partie graphique et la partie fonctionnelle... Cet exemple fait de simples calculs. Pour avoir une 'sortie' il faut la commande print par exemple. Mais bien entendu rien ne va s'afficher car rien ne dit à XBMC "affiche le resultat sous forme graphique" Cela dit, il y a une sortie dites de debug. Après exécution du script, tu appuies sur le bouton blanc du pad, ce qui active le debug screen. Dans cet écran on va voir les erreurs gérés qui sont affichées mais aussi les print utilisés. Une autre solution pour afficher le résultat des print, c'est de mettre le debug du log à 0 pour afficher tous les messages. Ensuite, il suffira de consulter le xbmc.log pour voir ce que python a écrit. Sinon pour commencer, si tu as des bases de programmation, le mieux est de consulter les scirpts existants. Consulte aussi ma signature, j'ai mis quelques liens qui me paraissent utiles. Lien vers le commentaire Partager sur d'autres sites More sharing options...
Thomas95 Posté(e) 26 février 2006 Share Posté(e) 26 février 2006 ok, je suis entrain de maté ton script de meteo ^_^ je voudrai savoir si on ajoute une légere modif a un de tes script on a le droit de le partager ou pas ? Lien vers le commentaire Partager sur d'autres sites More sharing options...
alexsolex Posté(e) 26 février 2006 Share Posté(e) 26 février 2006 le script météo n'est pas de moi... J'ai juste lancé le 'défit' aux autres de le faire... Bref, j'ai basé tout mon apprentissage de script à copier modifier adapter triturer les autres scripts. Certes les plus gros scripts sont de moi , mais je ne me suis pas interdit de recopier quelques fonctions !! Donc lorsque tu copies un script, trouve juste l'auteur pour lui présenter ton travail et avoir son accord moral No problems ! Lien vers le commentaire Partager sur d'autres sites More sharing options...
Thomas95 Posté(e) 27 février 2006 Share Posté(e) 27 février 2006 (modifié) erf d'accord merci, vous etes plusieur a avoir travaillé dessus, et ce que j'ai réussi a faire à été fait il y a un mois dans meteo09 ... alor que j'avait meteo08 sur ma xbox jvé esseyer de trouvé autres chose qst : comment on fait une condition avec python ? car j'y arrive pas snif ... Modifié 27 février 2006 par Thomas95 Lien vers le commentaire Partager sur d'autres sites More sharing options...
tofstory Posté(e) 27 février 2006 Auteur Share Posté(e) 27 février 2006 (modifié) D'apres ce que j ai lu il faut utiliser la fonction: if (:CONDITION) ACTION else: ACTION Page 29 du livre. Tof Modifié 27 février 2006 par tofstory Lien vers le commentaire Partager sur d'autres sites More sharing options...
alexsolex Posté(e) 27 février 2006 Share Posté(e) 27 février 2006 (modifié) very simple ! if testcondition: print "testcondition est vrai"else: print "testcondition est faux" "testcondition" peut être : -un appel à une fonction qui renvoi True ou False (ou autre) -une variable à 0 ou 1 (0 est False et toutes les autres sont True -une chaine qui renvoi False si vide ou True sinon -une liste qui renvoi Fase si vide ou Tru si au moin un élément -un dictionnaire etc... -ca peut être un test logique également -> var=='titi' -> var>=18 -> not( var ) -> .... http://docs.python.org/tut/node6.html#SECT...000000000000000 Un truc super pratique aussi dans python c'est le try: except: !! try: # "on va essayer de faire les choses suivantes..." #cette ligne fait ceci #cette ligne fait cela #mais cette ligne lève une exception (une sorte d'erreur) #alors cette ligne ne sera pas exécutée #celle là non plusexcept: #... et en cas d'erreur on va faire ca #cette ligne sera fait en cas d'erreur dans le try #puis celle là Très pratique pour tester quelque chose dont nous ne sommes pas sur du résultat Modifié 27 février 2006 par alexsolex Lien vers le commentaire Partager sur d'autres sites More sharing options...
Thomas95 Posté(e) 27 février 2006 Share Posté(e) 27 février 2006 Je doit passez a coté de quelque chose alor Region = "ile_de_france"if Region == "ile_de_france": print 'Ile De France' else: print 'Inconnu' et quand je lance .. ya rien .. et quand je fait le pti bouton blanc sa me met : IndentationError expected and indented block Lien vers le commentaire Partager sur d'autres sites More sharing options...
alexsolex Posté(e) 27 février 2006 Share Posté(e) 27 février 2006 (modifié) oui une chose importante en python l' indentation Chaque bloc doit être indenté c'est à dire décalé du if: par une marge. Toutes les lignes de code au même niveau d'indentation feront partie du bloc if...else..., ou try:.. except:... Regarde mes exemples ci dessus. Tu comprendas vite que c ennuyant parfois de reprendre le code des autres car ils n'ont peut être pas utilisé la même indentation. Moi je fais des indentations de 4 espaces et je banni toutes les tabulations (une tabulation = 1 caractère 4 espaces = 4 caractères) donc l'exemple que tu donnes doit s'écrire : Region = "ile_de_france"if Region == "ile_de_france": print 'Ile De France'else: print 'Inconnu' Modifié 27 février 2006 par alexsolex Lien vers le commentaire Partager sur d'autres sites More sharing options...
Thomas95 Posté(e) 27 février 2006 Share Posté(e) 27 février 2006 A ba oui c'était pas compliqer, suffisait de le savoir, en php sa donne sa : $Region = "ile_de_france";if(Region == "ile_de_france") { print 'Ile De France'; } else { print 'Inconnu'; } Donc ... oué le python est un language apparament simple quand on connais les regles ^_^ merci pour ton aide Lien vers le commentaire Partager sur d'autres sites More sharing options...
Daredivol Posté(e) 27 février 2006 Share Posté(e) 27 février 2006 merci pour ce lien ca donne envie de s'y mettre je sors la cafetiére et eventuellement des aspirines ... Lien vers le commentaire Partager sur d'autres sites More sharing options...
Thomas95 Posté(e) 27 février 2006 Share Posté(e) 27 février 2006 quelqu'un pourai dire tres clairement comment on affiche des images sous XBMC (avec un script python biensure) Car j'arrive clairement pas a le faire j'arrive juste a modifier des fichier existant et sa m'énerve un peut Lien vers le commentaire Partager sur d'autres sites More sharing options...
alexsolex Posté(e) 28 février 2006 Share Posté(e) 28 février 2006 Hum... Je ne vais pas partir dans un long post mais pour afficher une image il faut suivre plusieurs étapes... 1- importer les lib xbmc et xbmcgui (surtout xbmcgui pour les images) import xbmc , xbmcgui 2- créer une "fenêtre" graphique dans laquelle les librairies de XBMC pourront afficher les différents éléments : class NomDeMaClasse(xbmcgui.Window): #il s'agit d'une classe de type xbmcgui.Window c'est à dire la classe Window de la librairie xbmcgui 3- une fonction propre aux classes est automatiquement exécutée dès l'appel de la classe. Il s'agit de la fonction __init__(self). On va s'en servir pour déclarer les éléments graphique. Dans notre cas, on va déclarer un contrôle image def __init__(self): #la fonction self.monimage=xbmcgui.ControlImage(100,100,300,300, "Q:\\scripts\\images\\monimage.png") #déclare un control de type image 'ControlImage' depuis la librairie xbmcgui, et lui donne les dimensions x=100 , y=100 , width=300, height = 300) #ce control est déclaré en mémoire mais il faut dire maintenant à la classe Window de l'afficher. Donc de l'ajouter à elle même : self.addControl(self.monimage) #ici self se réfère à la classe, donc Window et appel la fonction addControl pour ajouter le controle attribuer à la variable self.monimage 4- la classe est terminée (on voulait simplement afficher une image) maintenant on dit au script qu'il faut qu'il la montre, qu'il l'utilise : monscript=NomDeMaClasse() #on attribue à une variable monscript la classe; monscript est donc une variable pour la classe Windowmonscript.show() #cette commande dit à la classe désignée par la variable monscript de se 'montrer' donc de s'afficherdel monscript #efface la variable à la fin, pour être un peu propre... Le script est donc : import xbmc , xbmcguiclass NomDeMaClasse(xbmcgui.Window): def __init__(self): self.monimage=xbmcgui.ControlImage(100,100,300,300, "Q:\\scripts\\images\\monimage.png") self.addControl(self.monimage) monscript=NomDeMaClasse() monscript.show() del monscript Sauf que ce script va s'afficher très fugacement ! Donc vous ne verrez rien se produire... Il faut donc le modifier pour prendre en compte les commandes des pads et télécommande On va donc ajouter une variabel au début du script pour connaitre la valeur de touche du bouton 'back' du pad : ACTION_BACK = 10 Ensuite on va ajouter une fonction qui est appelée à chaque action sur un bouton pad ou télécommande. Il s'agit de la fonction onControl qu'on placera au même niveaur que la fonction __init__ def onAction(self,action): #le paramètre action contient le code de la touche pressée if action==ACTION_BACK : #si le bouton pressé est le bouton back self.close() # ferme la classe en appelant la fonction close de la classe Window Et maintenant il faut modifier l'appel à la classe. Remplacons donc le .show() qui affichait la classe par la fonction doModal() qui affiche et qui boucle indéfiniment la classe Window monscript.doModal() #lance en 'boucle' la classe Window. Seul le self.close de la classe quittera cette boucle Au final le script ressemblera à : import xbmc , xbmcguiACTION_BACK = 10class NomDeMaClasse(xbmcgui.Window): def __init__(self): self.monimage=xbmcgui.ControlImage(100,100,300,300, "Q:\\scripts\\images\\monimage.png") self.addControl(self.monimage) def onAction(self,action): if action==ACTION_BACK : self.close() monscript=NomDeMaClasse() monscript.doModal() del monscript Est-ce que c'est plus clair ? Lien vers le commentaire Partager sur d'autres sites More sharing options...
Daredivol Posté(e) 28 février 2006 Share Posté(e) 28 février 2006 heuuu je dirais que ca donne une piste nan sans deconner ca va c'est compréhensible, un peu déroutant a la 1ére lecture mais compréhensible par la suite Lien vers le commentaire Partager sur d'autres sites More sharing options...
Thomas95 Posté(e) 28 février 2006 Share Posté(e) 28 février 2006 je risquai pas de trouvé tout seul , faut pas s'étonner qu'il y a est peut de monde pour faire des script :fouf: Je sais que je suis casse pied mais il serai vraiment bien pour dévelloper la section scripts de faire plusieur tuto du meme genre, qui sont d'ailleur bien expliquer bon jvé tester sa merci Lien vers le commentaire Partager sur d'autres sites More sharing options...
alexsolex Posté(e) 28 février 2006 Share Posté(e) 28 février 2006 Tu penses bien que j'y ai pensé !! Mais ca prend un temps fou.... Lien vers le commentaire Partager sur d'autres sites More sharing options...
Thomas95 Posté(e) 1 mars 2006 Share Posté(e) 1 mars 2006 Tu penses bien que j'y ai pensé !! Mais ca prend un temps fou.... Oué j'avoue que tu a raison, sa prend du temp mais combien de temp passe tu a répondre a ce genre de question Mais toi ou a tu appris ces fonction spécifique a XBMC ? Lien vers le commentaire Partager sur d'autres sites More sharing options...
alexsolex Posté(e) 1 mars 2006 Share Posté(e) 1 mars 2006 je prend du temps pour répondre dans l'espoir de faire naitre de nouveaux motivés... Mais je répète, si ca déplait, j'ai d'autres choses à faire à coté moi... J'ai fouillé pour apprendre, j'ai consulté les 2 forums pythons du site officiel XBMC, j'ai fouiné dans les CVS dans la section python... Pour python en lui même, j'ai sorti le harraps et j'ai fait appel à mon ami Google (c'est ton ami aussi ! je te promet) J'ai regardé les signatures des autres aussi, si si ! des fois ca aide Pour les fonctions spécifiques à XBMC, il y en a 2 (des librairies) xbmc et xbmxgui xbmc : http://home.no.net/thor918/xbmc/xbmc.html xbmcgui : http://home.no.net/thor918/xbmc/xbmcgui.html Lien vers le commentaire Partager sur d'autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant