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