菜鸡摸索水仙花
i=100a=i%10
b=i%10%10
c=i%100%10
while i:
if i==a*3+b*3+c*3:
print(i)
i+=1
continue
if i!=a*3+b*3+c*3:
i+=1
continue
为什么报错我把esle改成if一样报错 我学的python 逻辑不对,abc都是0 本帖最后由 凌九霄 于 2018-6-7 01:33 编辑
先说说你程序的问题:
1、报错的原因是第二个IF缩进错误
2、continue是没有必要的
3、**写成了*,大概是手误吧
4、这个程序会死循环,因为你没有设置退出循环的条件
5、程序不会得到正确的结果,因为你解题的逻辑错误
照着你的思路稍微改正了下,程序会返回100 - 1000内的水仙花数:
i = 100
while i < 1000:
a = i // 100
b = (i - a * 100) // 10
c = i - a * 100 - b * 10
if i == a ** 3 + b ** 3 + c ** 3:
print(i)
i += 1
凌九霄 发表于 2018-6-7 00:44
先说说你程序的问题:
1、报错的原因是第二个IF缩进错误
2、continue是没有必要的
要把abc写到循环里面么赋值么
页:
[1]