lvbo112 发表于 2018-12-9 20:46:56

判断一个数是不是水仙花数,代码怎么写

[课后作业] 第009讲:了不起的分支和循环3 | 课后测试题及答案
动动手第一题: 编写一个程序,求 100~999 之间的所有水仙花数。如果改成输入一个数是不是水仙花数,该怎么写呢

13572044595 发表于 2018-12-9 21:38:56


相同的问题,不要重复提问,兄弟,你太心急了

data = int(input('请输入一个数字:'))
nums = 0
temp = data
while True:
    nums = nums + (temp%10) ** 3
    temp //= 10
    if temp == 0:
      break
if data == nums:
    print('Yes')
else:
    print('No')

heidern0612 发表于 2018-12-10 08:05:34

本帖最后由 heidern0612 于 2018-12-10 08:14 编辑

如果求余除那个while循环比较难理解,你可以选择我这个代码理解:
for i in range(100,1000):
    a = i // 100                                #百位,求整除。
    b = i % 100 // 10                         #十位,求余除后求整除。
    c = i % 10                                #个位,求余除。
    if i == a**3 + b**3 + c**3:
      print (i)
页: [1]
查看完整版本: 判断一个数是不是水仙花数,代码怎么写