Newsletter Developpez.com

Inscrivez-vous gratuitement au Club pour recevoir
la newsletter hebdomadaire des développeurs et IT pro

FAQ PythonConsultez toutes les FAQ

Nombre d'auteurs : 16, nombre de questions : 313, dernière mise à jour : 10 juillet 2017  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions posées sur le forum Python complétées par d'autres questions qui pouvaient nous sembler intéressantes de traiter. Toutefois il se peut que les réponses apportées contiennent des erreurs, imprécisions ... Vous pouvez dans ce cas contacter un des membres de la rédaction pour lui faire part de vos remarques.

L'équipe Python de Developpez.


Sommaire36 Q/R Python et Tkinter pour passer son Bac !Questions générales (12)
précédent sommaire suivant
 

R : Bouton (#) en haut à droite de l'éditeur de messages.

Vous pouvez aussi insérer manuellement les balises phpBB [code]…[/code] dans le texte de votre message de forum.



Je veux comprendre :

Certains langages comme Python sont particulièrement sensibles aux indentations. Si vous copiez/collez votre code directement dans le flux du message – sans le délimiter par [code]…[/code] – vous modifiez le sens même du code, en le rendant difficile à analyser par les intervenants qui souhaitent vous aider.



De plus, les balises [code]…[/code] permettent aux intervenants de copier/coller vos portions de code chez eux, de les tester, de les corriger, puis de vous retourner un résultat assez rapidement.

Exemple SANS balises :



Exemple AVEC balises :

Mis à jour le 28 août 2014

Plus d'infos sur cette page de tutoriel.

R : relax Max, c'est un forum, pas un tchat.

Si vous voulez tout tout de suite, ne posez pas vos questions sur un forum, allez plutôt sur un tchat.

Je veux comprendre :

Le principe du forum, c'est justement de laisser aux intervenants le temps de chercher une réponse non seulement adéquate, mais aussi – tant qu'à faire – la plus pertinente possible.

Et ça, ça demande du temps. Alors patience, une réponse peut parfois mettre trois jours avant d'arriver…

Même si en réalité, dans la plupart des cas, vous obtiendrez une réponse en moins d'une heure.

Mis à jour le 28 août 2014

Plus d'infos sur cette page de tutoriel.

R : Aidez-nous à vous aider.

Un forum a ses règles de bienséance. Avez-vous pris le temps de les lire en arrivant ?



Et puisque vous êtes là, faites donc un saut à cette page, elle vaut le détour.

Mis à jour le 28 août 2014

Plus d'infos sur cette page de tutoriel.

R : Qui veut aider un glandu dans la salle ? Des volontaires ? Non ?

Une erreur fréquente chez les novices sur un forum : donner l'impression que vous attendez que les intervenants fassent le travail à votre place.

Faites un effort ! Présentez-vous correctement.

Je veux comprendre :

C'est une erreur malheureusement courante chez les nouveaux venus sur un forum : publier une demande sans avoir montré que l'on a d'abord cherché sur internet avant d'appeler à l'aide, ne pas faire preuve du minimum de politesse de rigueur, ne pas publier au moins un bout de code prouvant que l'on a travaillé la question ou pire encore, réellement demander à ce que l'on vous fournisse un bout de code pour résoudre votre problème !

N'oubliez pas que les intervenants n'ont pas que vous à aider sur un forum, qu'ils travaillent pour la plupart à côté de leur activité d'entraide bénévole et - surtout - qu'ils ne sont jamais tenus de vous répondre.

Même avec les meilleures intentions du monde, si vous ne faites aucun effort de présentation, vous allez passer pour des mufles et vous risquez de ne plus vous faire aider par la suite.

Attention donc aux maladresses de premier contact sur un forum, elles peuvent finir par vous nuire sur le long terme.

Si ce n'est pas déjà fait, jetez un œil à la question « Je pose mes questions sur un forum, mais personne ne me répond jamais. Pourquoi ? »

Mis à jour le 28 août 2014

Plus d'infos sur cette page de tutoriel.

R : C'est comme demander « quelle est la différence entre un lavabo ? »

Si vous ne précisez pas un peu plus votre question, comment voulez-vous qu'on vous aide ?

Je veux comprendre :

Mettez-vous à la place de celles et ceux qui vont vous lire et relisez votre texte plusieurs fois avant de le publier : êtes-vous bien sûr(e) qu'on va vous comprendre ?

Plus vous êtes confus(e) dans vos propos et plus vous risquez de rester sans réponse.

Si vous n'arrivez pas à formuler votre question, peut-être qu'une personne de votre entourage peut vous y aider ?

Si ce n'est pas déjà fait, jetez un œil à la question « Je pose mes questions sur un forum, mais personne ne me répond jamais. Pourquoi ? »

Mis à jour le 28 août 2014

Plus d'infos sur cette page de tutoriel.

R : On peut aussi causer brainfuck , si tu veux.

On perdra encore plus de temps à essayer de se comprendre.

Je veux comprendre :

Le langage abrégé type SMS n'est pas forcément compréhensible pour vos interlocuteurs. Dites-vous que celles et ceux qui proposent leur aide sur les forums n'ont très probablement pas votre âge ni peut-être même votre environnement culturel. Pour eux, le SMS est une curiosité de zoo qu'ils tenteront de décrypter une fois, deux fois, mais pas trois, d'autant plus que cette écriture abrégée est proscrite par les règles du forum.

Et vous resterez seul(e), dans votre désert linguistique, à vous lamenter ainsi : « Je pose mes questions sur un forum, mais personne ne me répond jamais. Pourquoi ? »

Une question indéchiffrable peut appeler une réponse incompréhensible.

Heureusement pour nous, notre belle langue, le français, permet de s'exprimer sur de vastes champs sémantiques et lexicaux - eh quoi ? Vous ne comprenez plus le français à présent ? - aussi, vous redécouvrirez sans doute - et non sans quelque émoustillement - le plaisir caché de s'ouïr dans la beauté féroce d'une verve bien menée.

Nan, je plaisante. Exprimez-vous dans un français simple, cela suffira amplement.

Évitez seulement les anglicismes à tout crin, les abréviations sibyllines, le langage SMS bolosse et tout devrait se passer au mieux dans le meilleur des mondes.

Mis à jour le 28 août 2014

Plus d'infos sur cette page de tutoriel.

R : Tu t'es vu quand t'as relu ?

Certaines fautes d'orthographe ou de grammaire peuvent littéralement changer le sens d'une phrase et (faire) dire des choses totalement incompréhensibles pour celui ou celle qui tente de vous aider.

Je veux comprendre :

« Le programe est la faute que je vœu vous sinifé est que j'ai l'erreur du tribut error. Pouvez m'aider ? »

Vous n'avez rien compris ?

Ça tombe bien, nous non plus.

Une question indéchiffrable peut appeler une réponse incompréhensible.

Alors, s'il vous plaît, faites un effort, nous n'avons pas toujours le décodeur pour voir dans vos têtes.

Mis à jour le 28 août 2014

Plus d'infos sur cette page de tutoriel.

R : Pas de favoritisme, s'il vous plaît !

Même si le courant passe forcément mieux avec certain(e)s qu'avec d'autres, gardez-vous bien de manifester vos préférences.

Un forum est un lieu public d'échange, d'entraide, pas le creuset des bas instincts de notre espèce.

Je veux comprendre :

Chaque intervenant apporte une part importante de compétences et de savoir-faire. Chacun sa manière, chacun sa façon de s'exprimer.

En revanche, le demandeur d'aide ne devrait jamais négliger aucun de ces nombreux horizons. Un jour, c'est untel qui aide, le lendemain, c'est tel autre. La richesse humaine dans sa diversité, c'est aussi savoir parfois ravaler sa fierté et faire l'effort d'écouter les personnes que l'on n'apprécie pas forcément.

Mon boulanger a une tête pas possible ! Heureusement pour moi, son pain est vraiment bon.

Vous avez votre opinion ? Tant mieux. Mais gardez-la pour vous-même, vous êtes sur un forum pour apprendre, avant toute chose.

Et puis, aussi surprenant que cela puisse paraître, beaucoup de mésententes naissent à la suite de malentendus. Une histoire de malentendants qui finit en dialogue de sourds, vous dis-je, en somme.

C'est entendu ?

Profitez-en pour agrandir le champ de votre (jeune) conscience, jetez donc un œil furtif à la question « Je pose mes questions sur un forum, mais personne ne me répond jamais. Pourquoi ? »

Mis à jour le 28 août 2014

Plus d'infos sur cette page de tutoriel.

R : Pas de questions techniques par MP, s'il vous plaît !

La MP est là uniquement pour les prises de contact ou les questions d'ordre général.

Vous avez le forum pour toute question technique.

Je veux comprendre :

Il est considéré comme très impoli de contacter un intervenant en particulier pour l'interpeller sur l'un ou l'autre de vos problèmes techniques. Non seulement vous réduisez vos chances d'être aidé(e) par un grand nombre de compétences diverses – comme sur un forum public – mais de plus, vous contredisez la raison même d'être d'un forum : si on vous aide par MP, à quoi sert d'avoir un forum dans ce cas ?

Mis à jour le 28 août 2014

Plus d'infos sur cette page de tutoriel.

R : Un code source est plus souvent lu, relu qu'écrit.

Il faut apprendre à rendre votre code source non seulement lisible pour les autres, mais aussi – et surtout – intelligible, de façon à permettre une relecture et une correction sans accroc.

Je veux comprendre :

C'est bien beau d'écrire des programmes qui fonctionnent bien, encore faut-il que les autres puissent les relire et que ce ne soit pas la galère à chaque ligne de code pour comprendre ce que vous avez fait, voulu dire ou essayé d'expliquer.

Voici deux codes sources qui produisent exactement le même résultat :

Code n° 1 :

Code python : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/env python3 
# -*- coding: utf-8 -*- 
  
# les coords du point marginal 
x,y=(3,30) 
import tkinter 
e2,b1=e3,e6=(x,y-12)# coord du dehors dedans 
from tkinter import * 
e1=fen1=b6=x,y,e2 
fen3 = Tk()# programe ki ser de l'aff conversion 
e1=b2=e6=fen3.title # pour ke l'aff c mieux 
x,y,z,n=3.14,-125,1.45**2,32//14 
Label(fen3, 
text="Veuillez saisir un entier décimal, SVP :" 
).pack(pady=5, 
padx=10) 
af4 = e6=Entry(fen3);e6.pack(# sinon il est nonne 
padx=10) 
import tkinter 
def af3(*y,z=0): 
    global x,n,af3,af1,af6,n 
    try: 
        c6=y+(z**2,z/x-n*x,3.25) # pour centré le point 
        e3.config( 
            text=bin(   # c la conv du bin en entier 
        int( 
                e6.get( 
        )))) 
    # on fé l'exception 
    except: 
        from tkinter import Label 
        if '*/+-=axzbf^@' or z-len(y) and af4: 
            e3.config(text='error') 
af6=e2=Label(fen3) 
e3 =Label(fen3);e3.pack( 
pady=5, padx=10) # input utilizater 
af4=Button(fen3, 
text="Convertir", 
command=af3).pack(side=LEFT, 
pady=10,padx=30);af6=Button(fen3, text="Quitter", 
command=fen3.destroy).pack( 
side=RIGHT, pady=10, 
padx=10) 
fen3.mainloop()#fontion principal

Code n° 2 :

Code python : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/usr/bin/env python3 
# -*- coding: utf-8 -*- 
  
# on utilise la librairie graphique tkinter 
  
from tkinter import * 
  
# zone de déclaration de fonctions 
  
def convertir (): 
    """ 
        cette fonction convertit un nombre décimal entier en séquence 
        binaire de 0 et de 1, puis affiche le résultat; 
        si les données entrées ne sont pas correctes, le résultat 
        affichera 'error'; 
    """ 
    # on récupère les données saisies par l'utilisateur 
    sequence = entree.get() 
  
    # on essaie de faire la conversion en séquence binaire 
    try: 
        # conversion d'un entier en séquence binaire 
        resultat = bin(int(sequence)) 
    # si une erreur survient 
    except: 
        # on affiche 'error' à la place 
        resultat = 'error' 
    # end try 
  
    # affichage du résultat 
    cvar_resultat.set(resultat) 
  
# end def 
  
# programme principal (GUI - interface graphique utilisateur) 
  
# on crée une fenêtre principale 
fenetre = Tk() 
  
# on ajoute des composants graphiques 
  
# étiquette texte à afficher 
Label(fenetre, text="Veuillez saisir un entier décimal, SVP :").pack(pady=5, padx=10) 
  
# zone de texte pour la saisie des données entrées par l'utilisateur 
entree = Entry(fenetre) 
entree.pack(padx=10) 
  
# on va utiliser une variable de contrôle pour afficher un résultat 
# variable selon les calculs de conversion que l'on va effectuer 
# ultérieurement 
cvar_resultat = StringVar() 
  
# on rattache cette variable de contrôle à une étiquette texte afin 
# de pouvoir afficher ses données en sortie visuelle 
Label(fenetre, textvariable=cvar_resultat).pack(pady=5, padx=10) 
  
# il ne nous reste plus qu'à utiliser un bouton cliquable pour 
# déclencher l'opération de conversion du nombre en séquence binaire 
# de 0 et de 1 
Button(fenetre, text="Convertir", command=convertir).pack(side=LEFT, pady=10, padx=30) 
  
# ainsi qu'un bouton cliquable pour quitter notre application 
Button(fenetre, text="Quitter", command=fenetre.destroy).pack(side=RIGHT, pady=10, padx=10) 
  
# pour finir, on lance l'application graphique en entrant dans la 
# boucle événementielle principale 
fenetre.mainloop()

Lequel des deux comprenez-vous le mieux ?

Pourtant, les deux fonctionnent parfaitement et produisent exactement le même résultat.

Alors ? La lisibilité c'est important, non ?

Aller plus loin avec les conventions de nommage de la PEP 8 de Python (en anglais).

Mis à jour le 28 août 2014

Plus d'infos sur cette page de tutoriel.

R : Tu crois encore au Père Noël à ton âge ?

Votre prof sait parfaitement. Il veut juste que vous appreniez à vous autodocumenter en vous servant de l'internet, des moteurs de recherche, des forums d'entraide et de tous les outils modernes mis à votre disposition pour y arriver.

Je veux comprendre :

Le métier d'informaticien est un long chemin parsemé de perpétuelles nouveautés. Si vous ne prenez pas l'habitude dès le plus jeune âge de vous documenter par vous-même, d'apprendre à aller chercher l'info là où elle se trouve, personne ne le fera à votre place et vous atteindrez très vite vos limites.

L'activité de programmation requiert pour 50 % de son temps de la recherche d'information et de la lecture de documentation.

Même s'il est vrai qu'encore aujourd'hui la plupart des documentations que l'on trouve sur le net est écrite en anglais, il ne faut pas se décourager pour autant : au début, on ne comprend pas bien ce qui s'y dit, et puis, à force de lire et de relire cent fois, mille fois les mêmes termes techniques, on finit par assimiler et par comprendre la doc, même si elle est en anglais.

Alors, quand votre prof fait mine de ne pas savoir, essayez d'apprendre à savoir pour deux.

Mis à jour le 28 août 2014

Plus d'infos sur cette page de tutoriel.

R : Tu nous prends pour des jambons ?

N'essayez même pas de poster des demandes de ce genre, on ne vous répondra pas.

Je veux comprendre :

Vous aviez du temps pour demander sur les forums, puis pour élaborer et mettre au point votre programme. Comment se fait-il que les autres y soient arrivés et pas vous ?

Peut-être que la machine à pomper le code sur internet a un peu trop tourné sur votre clavier d'ordinateur ? Maintenant, si vous ne comprenez pas ce que vous avez copié, ce n'est pas notre problème : le but de l'éducation, c'est d'apprendre, pas d'exploiter sans comprendre.

De plus, il est rare qu'un programmeur ne comprenne pas ce qu'il a lui-même écrit…

Mis à jour le 28 août 2014

Plus d'infos sur cette page de tutoriel.

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Contacter le responsable de la rubrique Python