输出所有水仙花数python代码(输出所有的"水仙花数",所
打印所有的水仙花数
打印所有的水仙花数的方法。
如下参考:
1.首先,打开dev-c++软件,点击“新建代码”。
2.然后填写如下图所示的代码,如下图。
3.其中:a为几百朵水仙花,b为几十朵水仙花,c为水仙花的单位,和为水仙花的总数。
4.如果(sum==a*a*a+b*b*b+c*c*c)这个过程步骤的目的是在指定的搜索范围内找到满足这个条件的数字。
5.注意,a、b、c和sum的操作应该在for循环中完成,而不是在外循环中。
6.还要注意区分在分配的数百位数字、10位数字中,计算单位的“/”、“%”之差,“/”表示取整数后除,“%”表示取余数后除。
7.最后,单击“run”以获得要查找的结果。
Python一个求三位水仙花数的程序,请问错在哪?
你应该是在循环中对这个数字的三位数进行取位,而不是在一开头,否则将一直用最开始的那三位数一直进行循环,也就无法达到目的了
关于Python求解水仙花数的问题
i = n/100 是求百位上的数字,如123除以100就等于1 j = (n/10)%10 是求十位上的数字,如123除以10等于12,再除以10取余数就等于2 k = n % 10 是求个位上的数字,如123除以10取余数就等于3
萌新刚学python,求水仙花数,请问哪里写错了吗?
题主你好,
你的代码问题有两处,
1.在最后一句:
num += 1
这一句的缩进应该和if相同, 因为如果将 num += 1放到if下, 则只有if条件满足了, num才能加上1, 如果if条件不满足,则就成了死循环了.
举例, 就拿第1个数,100,来说吧, 因为100不等于1^3+0^3+0^3,所以100这个数在执行if语句时, 条件是不成立的, 因为if下的print()语句和num+=1都不会执行, 这样下一次循环时,num还是100, 而不是我们期望的101, 所以要把num += 1的缩进和if相同, 也就是无论if条件是否满足,我们都要给num加上1.
2.倒数第2句的print(list(num)), 要改成print(num)
代码及测试截图如下:
--------------------
另外, 我们题主的代码中的print()语句中用了列表函数, 猜测题主可能想要将结果以列表的形式输出, 代码及测试截图如下:
图中我已将和题主原代码不同的地方框选出来了,供参考.
-----
希望可以帮到题主, 欢迎追问.