web-dev-qa-db-fra.com

Comment passer de True à False en Python

Quelle opération dois-je effectuer pour que la valeur False devienne True ou que la valeur True devienne False? .__ En d’autres termes, que dois-je faire pour basculer la valeur booléenne d’une variable donnée?

    new_dict = {}
    for i in range(1, 101):
        new_dict[i] = False

    i = 2
    while i < 101:
        for x in range(1, 101):
            if new_dict[x] % i == 0:
                a = new_dict[x]
                new_dict[x] = not a
        i += 1
    for a in new_dict:
        print 'Light #%d --> %r' % (a, new_dict[a])

La sortie ci-dessous est seulement True. De là, je comprends que ce que j'ai fait pour une raison quelconque ne change pas toutes les autres valeurs en Faux. Pourquoi cela arrive-t-il?

Est-ce que quelqu'un a une idée pourquoi?

    Light #1 --> True
    Light #2 --> True
    Light #3 --> True
    Light #4 --> True
    Light #5 --> True
    Light #6 --> True
    Light #7 --> True
    Light #8 --> True
    Light #9 --> True
    Light #10 --> True
    Light #11 --> True
    Light #12 --> True
    Light #13 --> True
    Light #14 --> True
    Light #15 --> True
    Light #16 --> True
    Light #17 --> True
    Light #18 --> True
    Light #19 --> True
    Light #20 --> True
    Light #21 --> True
    Light #22 --> True
    Light #23 --> True
    Light #24 --> True
    Light #25 --> True
    Light #26 --> True
    Light #27 --> True
    Light #28 --> True
    Light #29 --> True
    Light #30 --> True
    Light #31 --> True
    Light #32 --> True
    Light #33 --> True
    Light #34 --> True
    Light #35 --> True
    Light #36 --> True
    Light #37 --> True
    Light #38 --> True
    Light #39 --> True
    Light #40 --> True
    Light #41 --> True
    Light #42 --> True
    Light #43 --> True
    Light #44 --> True
    Light #45 --> True
    Light #46 --> True
    Light #47 --> True
    Light #48 --> True
    Light #49 --> True
    Light #50 --> True
    Light #51 --> True
    Light #52 --> True
    Light #53 --> True
    Light #54 --> True
    Light #55 --> True
    Light #56 --> True
    Light #57 --> True
    Light #58 --> True
    Light #59 --> True
    Light #60 --> True
    Light #61 --> True
    Light #62 --> True
    Light #63 --> True
    Light #64 --> True
    Light #65 --> True
    Light #66 --> True
    Light #67 --> True
    Light #68 --> True
    Light #69 --> True
    Light #70 --> True
    Light #71 --> True
    Light #72 --> True
    Light #73 --> True
    Light #74 --> True
    Light #75 --> True
    Light #76 --> True
    Light #77 --> True
    Light #78 --> True
    Light #79 --> True
    Light #80 --> True
    Light #81 --> True
    Light #82 --> True
    Light #83 --> True
    Light #84 --> True
    Light #85 --> True
    Light #86 --> True
    Light #87 --> True
    Light #88 --> True
    Light #89 --> True
    Light #90 --> True
    Light #91 --> True
    Light #92 --> True
    Light #93 --> True
    Light #94 --> True
    Light #95 --> True
    Light #96 --> True
    Light #97 --> True
    Light #98 --> True
    Light #99 --> True
    Light #100 --> True

La question ici Comment puis-je obtenir le contraire (négation) d'un booléen en Python? et ici python comment "nier" une valeur: si true, retourne false, si false, retourne true semble être identique, mais dans mon cas, ce concept simple ne fonctionne tout simplement pas.

Merci, j'apprécie vraiment toute l'aide les gars !!!

3
NDKC

En supposant une variable myBool, vous pouvez la définir avec le mot clé not.

myBool = True
print(myBool)
myBool = not myBool
print(myBool)

Résulte en:

True
False
3
kchason

Si, par exemple, on vous renvoie une valeur booléenne d'une fonction, vous pouvez faire:

bool_value = not my_function()

Si vous notez la valeur booléenne, elle sera inversée par la valeur opposée . Cela fonctionne car en Python:

>>> not True
False
>>> not False
True

Alors:

>>> value = True
>>> print(value)
True
>>> print(not value)
False
2
Totem

Utilisez l'opérateur not:

In [1]: b = True

In [2]: not b
Out[2]: False

In [3]: b = not b

In [4]: b
Out[4]: False

In [5]: not b
Out[5]: True
0
bjohnson