求解 这个return语句为什没退出函数? 应该退出的啊

http://img2.mukewang.com/59c9de0f000115b410160935.jpg

http://img.mukewang.com/59c9de100001d1f618280930.jpg

请高手帮我理顺一下,为啥if里的return没有退函数.

我在调用时,第一次输入错误条件,第二次输入正确的条件,return就没法断开.

如果是在第一次就输入正确的的条件,return就能退出函数..

代码:

#!/usr/bin/env python3

# coding=utf-8


def flowerSqe(num):

    '''检查一个数字是不是水仙花数字,例如153 = 1**3+5**3+3**3.那么153就是水仙花数

    注意在函数内return就意味着函数运行结束,下面再有代码也就不执行了.return有

    截断作用'''

    while True:

        if ((num // 100)**3 + ((num //10)%10)**3 + (num % 10)**3 )== num :

            print("恭喜您!",num,"是水仙花数字@@")

            return 

        else:

            print("抱歉",num,"不是水仙花数字,换一个试试吧!")

            flowerSqe(int(input("请输入一个三位数,看看是不是水仙花数:")))


        # return

flowerSqe(int(input("请输入一个三位数字,看看是不是水仙花数:")))


超人7号
浏览 2147回答 1
1回答

慕函数9285021

你把你的递归调用,想成为为一个语句差不多就明白了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python