11 AnswersNew Answer
in a Boolean context 1 converts to True, and not y converts to False True AND False is False, so we execute the else branch, not the 'if'
0 = false 1 = true. since x and y are both 1(or true) saying “not y” returns the opposite of true(false) if statements only run if the value is true. else runs if no if / elif statements run. therefore, b is printed
The if statement is passed if the evaluated condition gives you True. As it was explained, 1 and not 0 will lead to False. For better understanding, you should test and see how python evaluates different types of values. For instance, any 'int' or 'float' value which is different than 0 will evaluate to True, while the 0 value will lead to False. An empty string, "", will evaluate to False, and a string with one or more characters will evaluate to True. An empty list will evaluate to False, and a list with one or more items will evaluate to True. Etc. In the if condition above, x is evaluated to True and y to True. Thus, you get the expression: if True and not True: ... Finally, it will lead to False, because it's the AND result between True and False (not True). I hope that was helpful! :) Happy coding!
If not(x and y):
Python3 code: x=1 y=1 if x and not y: print("a") else: print("b") I can't understand why the solution is "b".
ok, its got to do with booleans. True=1 False=0 b is true. not(b) means opposite of true, so not b is false. if a and not b is a false statement. if not b was true then it’d be a true statement. hope you understood.
In a Boolean 1 means true and 0 means false, and X and y are 1 here so both true. The if statement asks if X is true and y is false, that isn't the case so it executes the else and prints b
If u want to make the solution 'a' use 'or' at the place of 'and'.
True "Pr0C0d3r 6₹--₹ sotzzkgagakzhlgri💜💕