ast wrote: > Hello > > For integer, 0 is considered False and any other value True > >>>> A=0 >>>> A==False > True >>>> A==True > False >>>> A=1 >>>> A==False > False >>>> A==True > True > > It works fine
But not the way you think: >>> 0 == False True >>> 1 == True True >>> 2 == True False >>> 2 == False False 0 equals False, 1 equals True, and any other integer equals neither, but "is true in a boolean context", i. e. >>> if 42: print("42 considered true") ... 42 considered true > For string, "" is considered False and any other value True, > but it doesn't work In a similar way there is no string that equals True or False, but the empty string "" is considered false in a boolean context while all other strings are considered true: >>> bool("") False >>> bool("whatever") True >>>> A = "" >>>> A==False > False >>>> A==True > False >>>> A = 'Z' >>>> A==False > False >>>> A==True > False > > > What happens ??? > > thx -- https://mail.python.org/mailman/listinfo/python-list