Python,黑洞数问题代码

o = 3  # input('请输入需要计算的黑洞数的位数:')


def jishuan(num):
    da = ''
    xiao = ''
    k = 0
    num1 = 10 ** int(o - 1)
    while num1 < 10 ** int(o):
        i = sorted(str(num1))
        a = sorted(str(num1), reverse=True)
        for c in i:
            da += str(c)
        for c in a:
            xiao += str(c)
        if int(da) - int(xiao) == int(num1):
            return num1
        else:
            num1 += 1


print(jishuan(o)) 

为什么输出一直为空

o = 3  # input('请输入需要计算的黑洞数的位数:')

def jishuan(num):
    k = 0
    num1 = 10 ** int(o - 1)
    while num1 < 10 ** int(o):
        i = sorted(str(num1), reverse=True)
        a = sorted(str(num1))
        da = ''
        xiao = ''
        for c in i:
            da += str(c)
        for c in a:
            xiao += str(c)
        if int(da) - int(xiao) == int(num1):
            return num1
        else:
            num1 += 1

print(jishuan(o))

应该是这样吧?结果是:495

    while num1 < 10 ** int(o):

中都没有满足  if int(da) - int(xiao) == int(num1): 条件,来执行 return num1

 

循环结束后 没有return返回任何值

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m