我需要做什么操作才能始终将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似乎是一样的,但就我而言,这个简单的概念根本不起作用......
谢谢,我非常感谢所有帮助人员!
答案 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