鱼C论坛

 找回密码
 立即注册
查看: 551|回复: 5

求水仙花数的代码

[复制链接]
发表于 2018-10-22 17:48:11 | 显示全部楼层 |阅读模式

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

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

x
for i in range(100,1000):
        num=0
        temp=i
        while temp:
                num=num+(temp%10)**3
                temp//=10
        if num==i:
                print(i)
为什么if不套入while语句中也能执行?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-22 17:50:08 | 显示全部楼层
因为就是三位数,放里面反而有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-22 17:50:54 | 显示全部楼层
暂且不说其他,只是if语句和while语句有什么关系呢?一个是条件判断,一个是循环语句,不是非要凑在一起的呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-22 17:53:35 | 显示全部楼层
while语句的作用是将i的个位、十位、和百位数字的立方和求出来。
在求出来之后才和i进行比较判断是不是水仙花数,所以放在循环外面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-22 19:07:08 | 显示全部楼层
while循环三次获得的sum值后,temp的值将变成0,因此退出循环,执行if语句.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-23 09:29:36 | 显示全部楼层
i 是for 循环来控制 ,while 是把 i 做了计算,计算完之后在用num 和 i  判断输出结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-6 23:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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