鱼C论坛

 找回密码
 立即注册
查看: 1454|回复: 3

[已解决]找水仙花数,求大佬教教我哪里不对

[复制链接]
发表于 2022-3-2 15:40:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def findsxh(a):
    sum=0
    while a:
        sum=sum+(a%10)**3
        a=a//10
    if a==sum:
        return sum
i=0
while True:
    print(findsxh(a=i),end=' ')
    i+=1
   

最佳答案
2022-3-2 15:57:18
你的思路是对的,不过有几个问题

第一个问题:你的 a 在循环完之后都变成 0 了,肯定不会等于 sum 的,

所以你可以先把 a 存起来,用于后面跟 sum 比较

第二个问题:你应该判断一下结果再打印,因为没有结果也会有返回值的,只不过返回None而已

第三个问题:你应该设置一个范围,而不是让它一直死循环,计算机运行地很快,

你让它死循环又不 sleep 的话,根本就没法看到结果

故对你的代码修改如下:
def findsxh(a):
    sum=0
    temp = a          # 注意这里
    while a:
        sum=sum+(a%10)**3
        a=a//10
    if temp==sum:          # 注意这里
        return sum

for i in range(1000):          # 注意这里
    result = findsxh(a = i)
    if result:          # 注意这里
        print(result,end=' ')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-2 15:57:18 | 显示全部楼层    本楼为最佳答案   
你的思路是对的,不过有几个问题

第一个问题:你的 a 在循环完之后都变成 0 了,肯定不会等于 sum 的,

所以你可以先把 a 存起来,用于后面跟 sum 比较

第二个问题:你应该判断一下结果再打印,因为没有结果也会有返回值的,只不过返回None而已

第三个问题:你应该设置一个范围,而不是让它一直死循环,计算机运行地很快,

你让它死循环又不 sleep 的话,根本就没法看到结果

故对你的代码修改如下:
def findsxh(a):
    sum=0
    temp = a          # 注意这里
    while a:
        sum=sum+(a%10)**3
        a=a//10
    if temp==sum:          # 注意这里
        return sum

for i in range(1000):          # 注意这里
    result = findsxh(a = i)
    if result:          # 注意这里
        print(result,end=' ')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-2 16:01:34 | 显示全部楼层
因为你 a的值已经改变, 我记得一般都是从100开始的,我稍作修改
def findsxh(a):
    sum = 0
    temp = a
    while a:
        sum = sum+(a % 10)**3
        a = a//10
    if temp == sum:  # a 已经改变了
        return print(sum, end=" ")


i = 100
while i < 1000:
    findsxh(a=i)
    i += 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-4 22:41:51 | 显示全部楼层
这种特性的数应该叫自幂数,也有叫自恋数,阿姆斯特朗数。水仙花数是特指三位数中的此类数。既:遍历范围在100 - 999。
所以,循环语句应该是 for i in range(100, 1000)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 06:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表