Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to switch True to False in Python [duplicate]

Tags:

python

boolean

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?

    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?

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 true seem to be the same but in my case, that simple concept is simply not working...

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

like image 222
NDKC Avatar asked Dec 05 '17 19:12

NDKC


People also ask

How do you change between true and False in Python?

You can convert True and False to strings 'True' and 'False' with str() . Non-empty strings are considered True , so if you convert False to strings with str() and then back to bool type with bool() , it will be True .

How do you toggle between true and False?

To toggle a boolean, use the strict inequality (! ==) operator to compare the boolean to true , e.g. bool !== true . The comparison will return false if the boolean value is equal to true and vice versa, effectively toggling the boolean.

How do you change true/false to 1 0 in Python?

Use the int() class to convert True and False to 1 and 0, e.g. result = int(True) . The int() class will return 1 for True boolean values and 0 for False values.

How do I convert true to true in Python?

Given a string list, convert the string truth values to Boolean values using Python. Input : test_list = ["True", "False", "True", "False"] Output : [True, False, True, False] Explanation : String booleans converted to actual Boolean.


2 Answers

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

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

Results in:

True
False
like image 158
kchason Avatar answered Sep 18 '22 22:09

kchason


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:

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

So:

>>> value = True
>>> print(value)
True
>>> print(not value)
False
like image 29
Totem Avatar answered Sep 18 '22 22:09

Totem