Python - Disjonction de deux booléens - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 34 sur 34

Python - Disjonction de deux booléens



  1. #31
    PrRou_

    Re : Python - Disjonction de deux booléens


    ------

    Bonsoir

    "Les avis sont partagés" : à quel sujet ?!

    Les choses sont simples (à condition de comprendre ce qui est écrit dans la doc), tout le monde est d'accord sur le fonctionnement de | , & , OR et AND , fonctionnements qui ont été décrits dès le début de la discussion... Les 20 derniers massages ne sont que propos erronés d'une part, et rectificatifs d'autres parts. Mais bon, Dlzlogic a reconnu s'être trompé à plusieurs reprises. Pardonné, il est donc.

    Moralité de l'histoire : ne pas avancer ses idées tout à fait personnelles quand on ne connait pas le terrain

    -----

  2. #32
    Latinus

    Re : Python - Disjonction de deux booléens

    Bonsoir à tous,

    Merci de vos réponses, super intéressantes, vous avez poussé le sujet très loin messieurs !

    Pour ceux qui se demandaient, je posais cette question pour comprendre la syntaxe. Et en effet je ne connaissais pas les opérations bit à bit, dans mon cours c'est marqué que le "ou logique" se code par "or" ou "|" (je n'ai même pas trouvé ça sur Internet).

    Par ailleurs je ne comprends toujours pas trop le principe : pourquoi 95 == 91|14, et 1|2 donne 3 ?

    Bonne soirée !

    Latinus.

  3. #33
    pm42

    Re : Python - Disjonction de deux booléens

    Citation Envoyé par Latinus Voir le message
    B
    Par ailleurs je ne comprends toujours pas trop le principe : pourquoi 95 == 91|14, et 1|2 donne 3 ?
    Il suffit de passer en binaire :

    91 = 1011011
    14 = 0001110

    Tu fais un "ou" bit à bit, donc tu gardes un 1 chaque fois qu'il y en a dans l'un des 2.
    Cela te donne 1011111 soit 95.

    1 = 01
    2 = 10

    Tu fais pareil, cela te donne 11 donc 3.

  4. #34
    polo974

    Re : Python - Disjonction de deux booléens

    Citation Envoyé par Latinus Voir le message
    Bonsoir à tous,

    Merci de vos réponses, super intéressantes, vous avez poussé le sujet très loin messieurs !

    Pour ceux qui se demandaient, je posais cette question pour comprendre la syntaxe. Et en effet je ne connaissais pas les opérations bit à bit, dans mon cours c'est marqué que le "ou logique" se code par "or" ou "|" (je n'ai même pas trouvé ça sur Internet).

    Par ailleurs je ne comprends toujours pas trop le principe : pourquoi 95 == 91|14, et 1|2 donne 3 ?

    Bonne soirée !

    Latinus.
    le ou logique NE SE NOTE PAS avec un simple '|' ! ! ! !
    c'est une erreur (voire une faute pour un cours).
    le simple '|' est un ou bit à bit.


    donc d'un coté, les 'et' et 'ou' logiques: en python, notés AND et OR.
    python est (comme d'autres langages) optimisé, donc dans un OR, si le premier membre est vrai, comme le second ne pourra pas le contrarier, python ne va même pas voir ce qu'il raconte...

    de l'autre coté, les opérations 'ou' et 'et' bit à bit notée '|' et '&' : un entier sur 32 bits est donc un vecteur de 32 bits, et on fait alors d'un coup d'un seul 32 ou (respectivement et) entre chacun des bits des 2 entiers.

    91 en binaire:
    1011011

    14 en binaire:
    0001110

    on fait un 'ou' bit à bit (soit par colonne):
    1011111
    ce qui donne 95

    en python pour afficher un nombre sur 32 bits en binaire:
    >>> print ( '{:032b}'.format(95))
    000000000000000000000000010111 11

    edit: grillé par pm42...
    Dernière modification par polo974 ; 07/11/2016 à 08h18.
    Jusqu'ici tout va bien...

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. Coller deux colonnes avec pandas python
    Par Micki2a dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 07/06/2015, 14h11
  2. conditions booléens
    Par whisper11 dans le forum Programmation et langages, Algorithmique
    Réponses: 16
    Dernier message: 06/01/2015, 09h49
  3. [PYTHON] Comment exécuter deux tâches à la fois?
    Par patagouin dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 20/06/2012, 07h09
  4. Programmation Python angles entre deux vecteurs
    Par inviteda408dc6 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 17/11/2009, 10h37
  5. Connecteurs booléens
    Par invite693d963c dans le forum Mathématiques du collège et du lycée
    Réponses: 18
    Dernier message: 15/04/2007, 22h53