IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Fonction flag python


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Lycée
    Inscrit en
    Mai 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Lycée

    Informations forums :
    Inscription : Mai 2022
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Fonction flag python
    Bonsoir, je suis au lycée et j'ai besoin d'aide pour faire un programme qui m'afficherait ça:

    1 non
    2 oui
    3 non
    4 oui
    5 non
    6 oui
    7 non
    8 oui
    9 non
    10 oui

    (Il affiche les chiffres de 1 à 10 avec écrit "oui" à côté des chiffres pairs et "non" à côté des chiffres impairs)

    La condition pour ce code est d'utiliser la fonction flag que je n'arrive pas à utiliser car je ne trouve pas de bonne explication sur google.

    Merci beaucoup d'avance !

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    bonjour et bienvenue
    Citation Envoyé par Cheimo Voir le message
    La condition pour ce code est d'utiliser la fonction flag que je n'arrive pas à utiliser
    Aucune idée de ce qu'est cette fonction flag() Ce n'est pas plutôt à toi de créer une fonction avec ce nom ? Si oui, tu ne risques pas de trouver sur internet une chose qui n'existe pas (encore).
    Cela doit avoir une correspondance avec ton dernier cours donc nous n'avons aucune idée du type de solution pour toi
    $moi= ( !== ) ? : ;

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Lycée
    Inscrit en
    Mai 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Lycée

    Informations forums :
    Inscription : Mai 2022
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par papajoker Voir le message
    bonjour et bienvenue

    Aucune idée de ce qu'est cette fonction flag() Ce n'est pas plutôt à toi de créer une fonction avec ce nom ? Si oui, tu ne risques pas de trouver sur internet une chose qui n'existe pas (encore).
    Cela doit avoir une correspondance avec ton dernier cours donc nous n'avons aucune idée du type de solution pour toi
    Non c'est pas une fonction. J'ai utiliser le mot comme sa. Je ne sais pas ce que c'est peut être juste un module. En tout cas je sais que le flag existe car j'en ai vu sur Google mais c'était pas expliquer.
    Si vous n'avez pas la réponse, merci d'avoir répondu.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut !

    Je suppose qu'il faut utiliser une "flag" variable ? (Merci Google)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def toto():
    	flag = True
    	i = 1
    	mot = ["impair","pair"]
    	while flag:			
    		print(i,mot[i%2])
    		if i == 10:
    			flag = False
    		i+=1
    Cela vous fera 10 cents !

  5. #5
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    Il serait cool de nous donner l'intitulé complet de l'exercice ...

    Si flag n'est qu'un nom, alors cela n'a aucune importance, cette variable peut être n'importe quoi. les noms de variables n'ont pas de lien avec l'algorithme. Surtout que ici il n'y a pas de raison d'utiliser ce nom "flag"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    flag = 2
    if flag est pair:
       print(flag, "pair")
    # pas forcément logique , mais si le seul but est d'utiliser ce mot...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    i = 5
    if i est pair:
       flag = "pair"
    else:
      flag = "impair"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if i est pair:
       flag = True
    else:
      flag = False
    Et si c'était au pluriel (ma préférence):
    ...
    $moi= ( !== ) ? : ;

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par Cheimo Voir le message
    (Il affiche les chiffres de 1 à 10 avec écrit "oui" à côté des chiffres pairs et "non" à côté des chiffres impairs)

    La condition pour ce code est d'utiliser la fonction flag que je n'arrive pas à utiliser car je ne trouve pas de bonne explication sur google.
    Ce que vous voulez est quelque chose qui passe de True à False à chaque itération.
    Le plus simple pour réaliser ce genre de flip-flop pourrait être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> flag = True
    >>> flag = not flag
    >>> flag
    False
    >>> flag = not flag
    >>> flag
    True
    >>> flag = not flag
    >>> flag
    False
    Mais comme c'est une boucle qui va de 1 à 10, il y aura un compteur pour savoir où on en est. Une division modulo 2 produira aussi une suite de 0, 1, 0, 1,...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> compteur = 1
    >>> compteur % 2
    1
    >>> compteur += 1
    >>> compteur % 2
    0
    >>> compteur += 1
    >>> compteur % 2
    1
    >>>
    testable pour afficher alternativement pair ou impair.

    Reste à écrire la boucle qui va de 1 à 10 et y emballer ce que vous aurez choisi.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par papajoker Voir le message
    Si flag n'est qu'un nom, alors cela n'a aucune importance, cette variable peut être n'importe quoi. les noms de variables n'ont pas de lien avec l'algorithme. Surtout que ici il n'y a pas de raison d'utiliser ce nom "flag"
    Si j'ai bien compris une variable "flag" c'est une variable booléen qui arrête une boucle grosso-modo. Aucun intérêt ici mais faut bien commencer par les bases pour ensuite comprendre qu'il y a plus pratique. (for i in range(11) : ...)

  8. #8
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Cheimo Voir le message
    Non c'est pas une fonction. J'ai utiliser le mot comme sa. Je ne sais pas ce que c'est peut être juste un module. En tout cas je sais que le flag existe car j'en ai vu sur Google mais c'était pas expliquer.
    Un flag (en français "drapeau") est une notion de programmation. C'est une variable qui sert à indiquer si quelque chose a été trouvé. Généralement elle ne peut prendre que 2 états (vrai=trouvé et faux=pas trouvé) mais parfois il peut être utile d'utiliser un compteur qui pourra dire alors combien de fois la chose a été trouvée.
    Mais ici c'est totalement inutile. Te suffit de boucler sur tes valeurs et afficher "oui" si la valeur est paire et "non" dans le cas contraire. Surtout que généralement cette notion sert surtout à repérer un cas particulier dans un ensemble d'éléments. On boucle sur chaque élément et si le cas particulier est trouvé alors on place le drapeau à vrai et à la fin de la boucle on sait si l'ensemble contient ou ne contient pas ce cas particulier. Pas utile ici où tu affiches chaque état au moment où il est détecté et ensuite tu l'oublies quand tu passes à la valeur suivante.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    Citation Envoyé par LeNarvalo Voir le message
    c'est une variable booléen qui arrête une boucle grosso-modo
    Pour moi, flag est plutôt un synonyme de variable Mais, c'est en plus une variable qui va servir dans n'importe quelle condition "if" : flag est la condition à tester.
    Elle n'est pas obligatoirement de type bool, les enums font aussi le job, cette variable peut aussi être au niveau du bit. Une variable qui représente un état simple (bool est le best!)

    On trouve généralement des fonctions avec un paramètre "flag(s)" : re, os, ...

    Citation Envoyé par Sve@r Voir le message
    Mais ici c'est totalement inutile.
    je suppose que c'est plutôt un énoncé qui essaye juste d'imposer (ou conseiller) un algo avec un "flag" pair/impair

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    flag = ???
    if flag == PAIR:
        print(x)
    else:
       print(y)
    $moi= ( !== ) ? : ;

  10. #10
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    Citation Envoyé par papajoker Voir le message
    Pour moi, flag est plutôt un synonyme de variable
    à ça près qu'un flag n'a pas vocation à être modifié, de mon point de vue ce qui s'y apparente le plus ce serait une énumération de constantes (#define en C/C++)
    re.IGNORECASE, re.MULTILINE et re.DOTALL sont des flags par exemple, et selon la doc "Les constantes d’options sont maintenant des instances de RegexFlag, sous-classe de enum.IntFlag"

    en C/C++ on déclarerait par exemple un truc comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #define O_CREAT           00000100
    #define O_EXCL            00000200
    #define O_NONBLOCK        00004000
    etc.
    (cf fcntl.h, et la manpage de open(2) en anglais qui parle de "creation flags and file status flags")

    après on peut tenir à jour une variable qui prend différentes valeurs correspondantes à des flags, mais c'est "vert", "orange" et "rouge" qui sont des flags, pas la variable "couleur_feu_tricolore"

    mes 2 cts sémantiques

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    à ça près qu'un flag n'a pas vocation à être modifié, de mon point de vue ce qui s'y apparente le plus ce serait une énumération de constantes (#define en C/C++)
    Un "flag" est un drapeau au sens contrôle de la circulation: levé on s'arrête, baissé on peut passer. En programmation, c'est juste un booléen.

    #define O_CREAT 00000100 est un masque pour une variable de la fonction Linux open qui s'appelle flags parce que c'est un champ de bits (des booléens donc) à positionner suivant ce qu'on veut faire.

    Citation Envoyé par BufferBob Voir le message
    après on peut tenir à jour une variable qui prend différentes valeurs correspondantes à des flags, mais c'est "vert", "orange" et "rouge" qui sont des flags, pas la variable
    Je ne sais pas représenter 3 valeurs avec un booléen, mais on peut agréger 01, 10, 11 pour avoir 3 valeurs ou en faire des bitmasks 001, 010, 100 (à la O_CREAT) ce qui n'a pas trop de sens puisqu'un feu ne peut être et vert et rouge et orange à la fois (sinon il est en panne).

    Pour le reste, ça fait plus de 70 ans qu'on programme la littérature sur le sujet est abondante et si vous trouvez un article qui conforte ce que vous racontez, merci de le partager.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  12. #12
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    j'ai pas l'impression qu'il y ait vraiment une définition stricte de ce qu'est un flag en fait, mais je pense que l'ambiguité porte sur le fait de parler du champs de bits (référencé par la variable) ou de chacun de ses états

    admettons que j'ai un appel à open() avec en paramètre O_CREAT | O_WRONLY | O_TRUNC, tu dirais qu'il y a combien de flag(s) ?

    l'idée est renforcée par le fait que la variable elle-même s'appelle bien "flags" avec un 's', et non "flag"

    quant à la littérature, l'exemple de la manpage d'open(2) semble là encore pertinent ; il est question de "creation flags" (les drapeaux de création) et non de "flag states" (états du drapeau), et cette façon de parler des flags est standard dans les manpages pour le moins (je suis pas allé chercher d'autres ref), à quelle littérature vénérable et abondante fais-tu référence ?

    Citation Envoyé par wiztricks Voir le message
    Je ne sais pas représenter 3 valeurs avec un booléen
    ben comme tu l'as dit, soit avec une énumération (comme ce que sont les flags du module re basés sur enum.IntFlag) soit avec un champs de bits 001, 010, 100.
    du coup si on considère comme étant un "flag" une valeur booléenne, on devrait également considérer que ne sont des flags que les champs de bits, or de nombreux exemples (dont celui du module re) montrent que ça ne se limite pas seulement aux champs de bits mais que la notion s'étend également aux énumérations

    le dénominateur commun ce serait donc à priori de parler d'un "ensemble de constantes" ?

    bon, on perd pas de vue qu'on pinaille sec là quand même

  13. #13
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    le dénominateur commun ce serait donc à priori de parler d'un "ensemble de constantes" ?
    Dans un langage de bas niveau comme C, on va créer un tas de constantes pour aider à positionner ou tester la valeur d'un bit qui peut être à n'importe quelle position dans un mot de 64, 32, 16, 8 bits (suivant la machine).

    La valeur de ce bit ne peut être que 0 ou 1 et elle sera utilisée pour changer le comportement du code qui va la lire.

    Appelez cette chose là comme vous voulez, c'est une juste variable booléenne (pas une constante).

    Citation Envoyé par BufferBob Voir le message
    bon, on perd pas de vue qu'on pinaille sec là quand même
    Un terme technique sert à communiquer pour autant qu'on en partage un minimum la définition.
    Avec Python, ce sera une variable booléenne.
    En C, ça va être plus compliqué. On va avoir la taille du mot qui stocke ce bit et les utilisations des autres bits de ce mot.
    Avec une variable booléenne if flag: suffira.
    Si c'est la valeur du 4ième bit qu'on veut tester, il faudra écrire flag & 0x08 == 0x08.
    Çà peut paraître du chipotage mais combien j'ai vu de code oublier de tester proprement le "bon" bit et devoir être modifiés après une montée en version.

    Pour les références, "software flag" sont les mots clefs à utiliser pour chercher un peu ce qui se raconte là dessus. Et désolé si les mots techniques ont une histoire qui leur donne un sens "commun".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  14. #14
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    ok ok, je vais pas insister ça commence à se mordre la queue et être un peu trop salé inutilement à mon goût.

    Citation Envoyé par wiztricks Voir le message
    Si c'est la valeur du 8ième bit qu'on veut tester, il faudra écrire flag & 0x08 == 0x08.
    Çà peut paraître du chipotage mais combien j'ai vu de code oublier de tester proprement le "bon" bit et devoir être modifiés après une montée en version.
    du coup je te propose plutôt 0x80, enfin si t'es d'accord avec la notion de 8e bit évidemment

  15. #15
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    Pour moi, le type du flag n'a aucune importance, c'est uniquement une notion d'algo.
    Nous avons l'habitude d'utiliser des constantes et de réduire l'empreinte mémoire au minimum (bool en python). Mais, pour moi "oui/non" est un flag, simplement il n'est peut-être pas codé de façon optimale.

    ps: moi qui vient de Go, flag est une bibliothèque importante (qui ne mérite clairement PAS ce nom !) En go les flags sont les paramètres (de tout type) passés au programme "python-argparse" pour nous
    https://gobyexample.com/command-line-flags
    https://pkg.go.dev/flag
    $moi= ( !== ) ? : ;

  16. #16
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par papajoker Voir le message
    ps: moi qui vient de Go, flag est une bibliothèque importante (qui ne mérite clairement PAS ce nom !) En go les flags sont les paramètres (de tout type) passés au programme
    Oui, je comprends leur point de vue. Dans leur optique un flag est un truc que tu lèves pour demander une spécialisation particulière au programme. Exemple ls vs ls -l (je lève le drapeau "l" car je veux l'affichage au format long).
    Généralement on parle plutôt d'option (d'où optarg qui existe en C, en bash et en Python) mais c'est la preuve que les concepts peuvent prendre plein de noms différent, et qu'un même nom peut englober plusieurs concepts différents.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  17. #17
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par papajoker Voir le message
    Pour moi, le type du flag n'a aucune importance, c'est uniquement une notion d'algo.
    Tout à fait mais la question est de savoir s'il s'agit d'une variable (booléenne) ou d'une constante.

    Citation Envoyé par BufferBob Voir le message
    du coup je te propose plutôt 0x80, enfin si t'es d'accord avec la notion de 8e bit évidemment
    Quand on n'a pas grand chose à dire, on trouve toujours à critiquer la forme mais ça ne fait pas avancer le débat. (j'ai corrigé)

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  18. #18
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Tout à fait mais la question est de savoir s'il s'agit d'une variable (booléenne) ou d'une constante.
    Pour moi, clairement une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if DEBUG:     # == True dans autres langages
    le flag est une variable, mais on le compare toujours à une constante (bool, enum,...)
    Si le flag est une constante, pourquoi le tester, puisqu'il aura toujours la même valeur...

    Par contre lorsque l'on parles des flags ... moi (et d'autres?) alors je vois l'ensemble des valeurs que peut prendre un flag particulier. Sans doute un raccourcis dans ma tête...


    ----------------------
    "pourquoi le tester, puisqu'il aura toujours la même valeur."
    A la limite, pour préparer une prochaine fonctionnalité, mais rien de fonctionnel en fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if DEBUG:
         #TODO penser à l'écrire pour version 2.0 get_debug() et log()
         pass
    $moi= ( !== ) ? : ;

  19. #19
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par papajoker Voir le message
    Par contre lorsque l'on parles des flags ... moi (et d'autres?) alors je vois l'ensemble des valeurs que peut prendre un flag particulier. Sans doute un raccourcis dans ma tête...
    Si un flag est une variable booléenne, alors une collection de flags sera une collection de variables booléennes. Après on peut coller la collection dans une séquence de bits (c'est l'héritage du langage machine et du C).

    Après, si un flag peut prendre d'autres valeurs que 0 ou 1, difficile de le coller à booléen, binaire,... mais la littérature tolère d'encore appeler çà un flag.

    Pourquoi pas... tant qu'on ne confond pas les valeurs que peut prendre une variable et les constantes correspondantes à ces valeurs.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  20. #20
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Quand on n'a pas grand chose à dire, on trouve toujours à critiquer la forme mais ça ne fait pas avancer le débat.
    j'ai déjà dit ce que j'avais à dire sur le fond en fait, et me suis efforcé de l'argumenter autrement que par "c'est comme ça qu'on a toujours pensé" (sans preuve) ou "fais tes recherches sur le net".

    à partir du moment où tu reviens avec des arguments dont j'ai précisément montré juste avant qu'ils étaient erronés, que ce soit par manque de logique ou par entêtement non fondé, j'estime que la discussion tourne en rond et que le débat est terminé, chacun sera libre ensuite d'apprécier la qualité de nos raisonnements respectifs.

    en revanche s'il y a un problème wiztricks hésite pas à venir m'en causer en pv on règlera ça, dans le cas contraire on doit pouvoir échanger sans être inutilement agressif ou condescendant et je t'invite à plus de courtoisie si tu veux qu'on débatte.

Discussions similaires

  1. [Python 3.X] executer un exe (tel une fonction) sous python
    Par raph_prog dans le forum Général Python
    Réponses: 10
    Dernier message: 05/10/2017, 14h03
  2. [Python 3.X] L'espace mémoire (nombre de bits) utilisé par un programme (ou fonction) en python
    Par mr.labhalla dans le forum Général Python
    Réponses: 1
    Dernier message: 28/01/2016, 15h05
  3. Exécution séquentielle de fonctions en python
    Par cabaflo dans le forum Général Python
    Réponses: 1
    Dernier message: 03/07/2013, 20h15
  4. Fonction eval() Python
    Par ToXiCitY2211 dans le forum Général Python
    Réponses: 1
    Dernier message: 05/01/2011, 01h07
  5. Appel de fonction/script python via PHP
    Par rastalien dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 21/02/2008, 18h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo