运行不出结果
i=100sum=0
while(i<1000):
b=i//100
s=(i-b)//10
g=i%10
sum=b**3+s**3+g**3
if (i==sum):
print(i,'是水仙花数')
i+=1
print('游戏结束')
请各位大佬帮我看看这个水仙花的代码哪里不对,我运行出来直接结束了。题目:编写一个程序,求100~999 之间的所有水仙花数。如果一个3 位数等于其各位数字的立方和, 则称这个数为水仙花数。例如:153= 1^3 + 5^3 + 3^3 ,因此153 就是一个水仙花数
谢谢大家 本帖最后由 zhongguozkh 于 2020-9-8 17:04 编辑
——i = 100
——sum = 0
——while i < 1000:
b = i // 100
s = (i-b*100)//10
g = i % 10
sum = b**3+s**3+g**3
if i == sum:
print()
i += 1
i=100
sum=0
while(i<1000):
b=i//100
s=(i//10)%10
g=i%10
sum=b**3+s**3+g**3
if (i==sum):
print(i,'是水仙花数')
i+=1
print('游戏结束')
这句话写错了,改成这样试试看:
s=(i//10)%10 也可以Ctrl+N,再输入。 写到注释里了
i=100
sum=0
while(i<1000):
b=i//100 #这里得到的b是百位数,但仅仅是一位数,不是三位数,例如:i为371,那么b为3
s=(i-b*100)//10 #这里写错了,b是百位数,需要乘100,即s=(371-3*100)//10
g=i%10
sum=b**3+s**3+g**3
if (i==sum):
print(i,'是水仙花数')
i+=1
print('游戏结束') 谢谢你!我明白啦
zhongguozkh 发表于 2020-9-8 17:14
也可以Ctrl+N,再输入。
谢谢!
页:
[1]