Apprendre La Programmation Python


tofstory
 Share

Messages recommandés

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é par sk8er
Lien vers le commentaire
Partager sur d'autres sites

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"

# B) 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é par Thomas95
Lien vers le commentaire
Partager sur d'autres sites

# A) Température fournie en °C :

tempC = 25

# Conversion en °Fahrenheit :

tempF = tempC * 1.8 + 32

# Affichage :

print tempC, "°C =", tempF, "°F"

# B) 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

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

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 :wacko: jvé esseyer de trouvé autres chose :)

qst : comment on fait une condition avec python ? car j'y arrive pas snif ...

Modifié par Thomas95
Lien vers le commentaire
Partager sur d'autres sites

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é par alexsolex
Lien vers le commentaire
Partager sur d'autres sites

Je doit passez a coté de quelque chose alor :wacko:

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 :marteau:

Lien vers le commentaire
Partager sur d'autres sites

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é par alexsolex
Lien vers le commentaire
Partager sur d'autres sites

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

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

wow 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 :ok:

bon jvé tester sa merci ;)

Lien vers le commentaire
Partager sur d'autres sites

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 :rolleyes:

Mais toi ou a tu appris ces fonction spécifique a XBMC ?

Lien vers le commentaire
Partager sur d'autres sites

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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share