大佬救我,到底是哪里有毛病,输出没有值,挑了好久没找出来,奔溃了!
def Narcissus():for each in range(100,1000):
i=each
sum=0
while i:
sum=sum+(i%10)**3
i//=10
if sum==i:
print(i,end='\t')
Narcissus() 这是求水仙花数的题目吧
def Narcissus():
for each in range(100,1000):
i=each
sum=0
while i:
sum=sum+(i%10)**3
i//=10
if sum==each: #这里i已经被上面的while语句改为0了,必然不可能相等,改成和each比较就行了
print(each,end='\t')
Narcissus() 条件没满足 没执行print语句 还有你想干嘛 本帖最后由 柿子饼同学 于 2021-3-28 20:32 编辑
{:10_266:} 我就找到i改成each的错误,结果输出4个0,我也不知怎么办了 def Narcissus():
for each in range(100,1000):
sum=0
i=each
while i:
sum=sum+(i%10)**3
i //=10
if sum==each:
print(each)
Narcissus()
这样就行了 i改成each zzxzrm 发表于 2021-3-28 20:24
这样就行了 i改成each
原因是你i整除10了 zzxzrm 发表于 2021-3-28 20:24
这样就行了 i改成each
谢谢大佬,这里的each为啥非要用另个参数来代替呢?while 如果后面是each就直接木有结果 柿子饼同学 发表于 2021-3-28 20:21
我就找到i改成each的错误,结果输出4个0,我也不知怎么办了
哈哈哈,太好玩了,第一遍还没找出这么多错误,第二遍逆天了 zzxzrm 发表于 2021-3-28 20:27
原因是你i整除10了
地板除吧
曾哥870 发表于 2021-3-28 21:30
哈哈哈,太好玩了,第一遍还没找出这么多错误,第二遍逆天了
浅谈水仙花数题目
https://fishc.com.cn/thread-192863-1-1.html
(出处: 鱼C论坛)
试试看吧,把最后的代码抄下来
页:
[1]