file ""line in int(' 'valueerrorinvalid literal for int(with base 'zbut when you play the tic tac toe game and try entering 'zfor your movethis error doesn' happen the reason is because the while loop' condition is being short-circuited short-circuiting means is that since the part on the left side of the or keyword (move not in ' split()evaluates to truethe python interpreter knows that the entire expression will evaluate to true it doesn' matter if the expression on the right side of the or keyword evaluates to true or falsebecause only one value on the side of the or operator needs to be true think about itthe expression true or false evaluates to true and the expression true or true also evaluates to true if the value on the left side is trueit doesn' matter what the value is on the right sidefalse and >always evaluates to false true or >always evaluates to true so python stops checking the rest of the expression and doesn' even bother evaluating the not isspacefree(boardint(move)part this means the int(and the isspacefree(functions are never called as long as move not in ' split(is true this works out well for the programbecause if the right side is true then move isn' string in number form that would cause int(to give us an error the only times move not in ' split(evaluates to false are when move isn' single-digit string in that casethe call to int(would not give us an error an example of short-circuit evaluation here' short program that gives good example of short-circuiting try entering the following into the interactive shelldef returnstrue()print('returnstrue(was called 'return true def returnsfalse()print('returnsfalse(was called 'return false returnstrue(returnstrue(was called