On 2020-12-12, dn <pythonl...@danceswithmice.info> wrote:
> On 12/12/2020 14:25, Bischoop wrote:
>> 
>> 
>> 
>> I've function asking question and comparing it, if is not matching 'yes'
>> it does call itself to ask question again. The problem is that when
>> function is called second time it returns old value or with additional
>> else statement it returns none.
>> 
>> Code: https://bpa.st/KVGA
>> 
>> How this functions should look properly?
>
>
> In the event of "yes" the function returns a value (return ask).
> When the function calls itself, what happens to the return-ed value?


Well I've put the output in a paste as well, anyway here is what is in a
paste:

def question():
    ask = input("Are you OK?:").lower()
        if ask != 'yes':
                question()
                    return ask

                    print (question())

                    #output:
                    Are you OK?:no
                    Are you OK?:no
                    Are you OK?:yes
                    no

                    ---------------------------------------
                    #Another way with 'elif' statment returns none


                    def question():
                        ask = input("Are you OK?:").lower()
                            if ask != 'yes':
                                    question()
                                        elif ask == 'yes':
                                                return ask

                                                print (question())

                                                #output:
                                                Are you OK?:no
                                                Are you OK?:yes
                                                None

                                                #Tried also nested
                                                functions, same results:

                                                def question():
                                                    ask = input("Are you
                                                    OK?:").lower()

                                                        def
                                                        check_question(n):
                                                                if ask
                                                                !=
                                                                'yes':
                                                                            
question()
                                                                                
    else:
                                                                                
                return
                                                                                
                ask

                                                                                
                    m
                                                                                
                    =
                                                                                
                    check_question(ask)
                                                                                
                        print
                                                                                
                        (m)
                                                                                
                        question()

                                                                                
                        #output:
                                                                                
                        Are
                                                                                
                        you
                                                                                
                        OK?:no
                                                                                
                        Are
                                                                                
                        you
                                                                                
                        OK?:yes
                                                                                
                        None

                                                                                
                        Process
                                                                                
                        finished
                                                                                
                        with
                                                                                
                        exit
                                                                                
                        code
                                                                                
                        0

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to