|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Stubborn 于 2018-11-30 20:03 编辑
- def Narcissus():
- for each in range(100, 1000):
- temp = each
- sum = 0
- while temp: # 这里为什么用temp
- sum = sum + (temp%10) ** 3 #上面不是sum=0,为什么循环下来会累加
- temp = temp // 10 # 注意这里用地板除
- if sum == each:
- print(each, end='\t') #"\t”这个 横向制表符 作用是什么
- print("所有的水仙花数分别是:", end='')
- Narcissus()
复制代码- def nice ():
- "求水仙花数"
- for each in range(100,1000):
- temp = each
- temp1 = 0
- while temp1:
- sum1 = temp//100 #百位数
- sum2 = (temp-sum1*100)//10 #十位数
- sum3 = temp%10 #个位数
- temp1 = sum1**3+sum2**3+sum3**3
- if temp1 == each:
- print(each,end="\t")
- print("所有的水仙花数分别是:", end='')
- nice()
复制代码
还有我自己的思路,运行没有问题,循环有问题,具体在哪里不是很清楚,是不是因为temp没有参与到while循环里面吗
有知道的,麻烦讲下,非常感谢
本帖最后由 heidern0612 于 2018-11-30 20:10 编辑
你可以看看我写的这个帖子,最后我分析好了。 戳我前进
那个制表符的作用只是用于把四个数字隔开,一个制表符=四个空格。
sum一开始是零,但是每循环一次就自增一次上次留下来的sum结果。
|
|