如何在 Python 中将 True 切换为 False

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/47661242/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-19 18:18:01  来源:igfitidea点击:

How to switch True to False in Python

pythonboolean

提问by NDKC

What operation do I need to do to always get a False value to become True or to get a True value to become False? In other words, what do I do to switch the Boolean value of a given variable?

我需要做什么操作才能总是让 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])

The output below is only True. From this, I understand that what I did for some reason is not changing every other value to False. Why is this happening?

下面的输出仅为 True。由此,我明白我出于某种原因所做的并不是将所有其他值都更改为 False。为什么会这样?

Does anyone have any idea why?

有谁知道为什么?

    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

The question here How do I get the opposite (negation) of a Boolean in Python?and here python how to "negate" value : if true return false, if false return trueseem to be the same but in my case, that simple concept is simply not working...

这里的问题如何在 Python 中获得布尔值的相反(否定)?在这里python如何“否定”值:如果真返回假,如果假返回真似乎是一样的,但在我的情况下,这个简单的概念根本不起作用......

Thanks, I really appreciate all the help guys!!!

谢谢,我真的很感谢所有的帮助人!!!

回答by kchason

Assuming a variable myBool, you can set it with the notkeyword.

假设一个变量myBool,你可以用not关键字设置它。

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

Results in:

结果是:

True
False

回答by Totem

If you are, for instance, being returned a boolean value from a function, you could do:

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

bool_value = not my_function()

NOTing the boolean value will invert it to the opposite value. It works because in Python:

注意布尔值会将其反转为相反的值。它之所以有效,是因为在 Python 中:

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

So:

所以:

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

回答by bjohnson

Use the notoperator:

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