这篇作业我怎么都做不对,求老师们帮我看看问题出哪里
此图是python 18讲作业的第一题,是我求助的原问题
这是我的代码,我看了很久也不知道哪里出现了问题,各位老师能不能帮我改改?{:10_266:} {:10_266:}
def flower():
for each in range(100,1000):
i = 2
while i:
result = 0
result += (each//(10**i))**3
each -= (each//(10**i))*(10**i)
i -= 1
if result == each:
print(each)
输出结果为
>>> flower()
0
1
8
0
1
8
0
1
8
0
1
8
0
1
8
0
1
8
0
1
8
0
1
8
0
1
8
for each in range(100,1000):
i = 2
j = each #each值在下面循环里会更改,所以不能直接代入
result = 0 #在循环里定义,值每次都重置为0
while i>=0: # 你的循环到第三次i=0就跳出循环了
result += (j//(10**i))**3
j -= (j//(10**i))*(10**i) #改成j =j%(10**i)更好
i -= 1
if result == each:
print(each)
题目是啥来着,很久没看视频了。 原题目是: 寻找水仙花数 @suchocolate
题目要求:如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数。例如153 = 1^3+5^3+3^3,因此153是一个水仙花数。编写一个程序,找出所有的水仙花数。
以下是标准答案
def Narcissus():
for each in range(100, 1000):
temp = each
sum = 0
while temp:
sum = sum + (temp%10) ** 3
temp = temp // 10# 注意这里用地板除
if sum == each:
print(each, end='\t')
print("所有的水仙花数分别是:", end='')
Narcissus()
不好意思各位 图好像没插入成功{:10_250:}{:10_266:}{:10_266:}{:10_266:} suchocolate 发表于 2021-5-14 18:31
题目是啥来着,很久没看视频了。
您好 我回复在下一楼了 txxcat 发表于 2021-5-14 17:58
十分感谢{:10_254:}
页:
[1]