鱼C论坛

 找回密码
 立即注册
查看: 2157|回复: 6

[已解决]使用python求100到999的水仙花数

[复制链接]
发表于 2017-12-3 22:29:12 | 显示全部楼层 |阅读模式

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

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

x
各位大神大家好!请问一下,小甲鱼零基础入门python009讲课后动动手第1题,求100到999的水仙花数,我写出来的代码如下:
  1. for a in range(1,10):
  2.     for b in range(0, 10):
  3.         for c in range(0, 10):
  4.             left=100*a+10*b+c
  5.             right=a**3+b**3+c**3
  6.             while left==right:
  7.                 print(left)
  8.                 break
复制代码


标准答案代码如下:
  1. for i in range(100, 1000):
  2.     sum = 0
  3.     temp = i
  4.     while temp:
  5.         sum = sum + (temp%10) ** 3
  6.         temp //= 10         # 注意这里要使用地板除哦~
  7.     if sum == i:
  8.         print(i)
复制代码


两种方法得到的答案是一样的,请问我的答案相比于标准答案,是不是会占用更多的资源,显得不那么简洁呢?还是说二者是差不多的,谢谢各位大神了
最佳答案
2017-12-4 06:58:38
代码逻辑是对的。使用多层循环当然消耗要大一些
但是初学者你应该重在自己思考,动手,优化的问题可以以后再考虑
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-4 06:58:38 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
代码逻辑是对的。使用多层循环当然消耗要大一些
但是初学者你应该重在自己思考,动手,优化的问题可以以后再考虑
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-4 07:32:10 From FishC Mobile | 显示全部楼层
while 换成if 代码对吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-4 15:30:11 | 显示全部楼层
Python玲玲 发表于 2017-12-4 07:32
while 换成if 代码对吗

不对的,while语句是个循环,有可能不止执行一次,而if语句是判断,执行完后就会跟着执行下面的语句了。
例如这道题:执行到while语句时,temp//10如果不为0,那么while就又会被执行一次,如果换成if,就会直接执行下面的if sum = i 语句了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-4 17:34:25 | 显示全部楼层
  1. for i in range(1,10):
  2.     for j in range(0,10):
  3.         for k in range(0,10):
  4.            if i*100+j*10+k==i**3+j**3+k**3:
  5.                 print(i*100+j*10+k)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-4 18:07:01 | 显示全部楼层
BngThea 发表于 2017-12-4 06:58
代码逻辑是对的。使用多层循环当然消耗要大一些
但是初学者你应该重在自己思考,动手,优化的问题可以以后 ...

懂啦!原来是多层循环更大,我之前没有想到过这个因素,非常感谢您!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-4 18:07:43 | 显示全部楼层

谢谢您的答案!您的比我的更简洁!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-4 12:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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