如何在Python中将True切换为False

时间:2017-12-05 19:28:55

标签: python boolean

我需要做什么操作才能始终将False值变为True或将True值变为False? 换句话说,我该怎么做才能切换给定变量的布尔值?

    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])

以下输出仅为True。从这一点来说,我明白我出于某种原因所做的并不是将其他所有值都改为False。为什么会这样?

有谁知道为什么?

    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

这里的问题How do I get the opposite (negation) of a Boolean in Python?python how to "negate" value : if true return false, if false return true似乎是一样的,但就我而言,这个简单的概念根本不起作用......

谢谢,我非常感谢所有帮助人员!

3 个答案:

答案 0 :(得分:4)

假设变量为myBool,您可以使用not关键字进行设置。

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

结果:

True
False

答案 1 :(得分:2)

例如,如果您从函数返回一个布尔值, 你可以这样做:

bool_value = not my_function()

注意布尔值会将其反转为相反的值。 它起作用,因为在Python中:

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

所以:

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

答案 2 :(得分:0)

使用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