while cave !' and cave !' ' while ' !' and cave !' ' while false and cave !' ' while false and ' !' ' while false and truev while falsebut if the player typed or or hellothat response would be invalid the condition will be true and enters the while-block to ask the player again the program will keep asking until the player types or this will guarantee that once the execution moves onthe cave variable contains valid response return values return cave this is return statementwhich only appears inside def-blocks remember how the input(function returns string value that the player typed inthe choosecave(function will also return value line returns the string that is stored in caveeither ' or ' once the return statement executesthe program execution jumps immediately out of the defblock (this is like how the break statement will make the execution jump out of while-block the program execution moves back to the line with the function call the function call itself will evaluate to the return value skip down and look at line for moment cavenumber choosecave(when the choosecave(function is later called by the program on line the return value is stored in the cavenumber variable the while loop guarantees that choosecave(will only return either ' or ' as its return value so when line returns stringthe function call on line evaluates to this stringwhich is then stored in cavenumber post questions to