打印水仙花数,结果无法显示出来
我完成第九讲Python入门作业的时候,发现水仙花数一直打印不出来,运行时没有任何结果显示,有没有老手可以帮忙看看问题出在哪里?for i in range(100,999):
temp=i
a=temp%10
b=temp/10%10
c=temp%100
sum=pow(a,3)+pow(b,3)+pow(c,3)
if sum==i:
print(i,"是水仙花数") python的整数除以整数不会取整,因此b=temp/10%10应该写成b=temp//10%10(//是地板除) tommyyu 发表于 2022-9-10 13:34
python的整数除以整数不会取整,因此b=temp/10%10应该写成b=temp//10%10(//是地板除)
我换成了地板除,结果还是显示不出来。什么都没有打印
c 百位数的代码错了,不应该是 % 求余,是 // 地板除才能将百位取出
否则你求余是得到了一个 十位 和 个位数的值,即一个两位数或一个一位数
for i in range(100, 999):
temp = i
a = temp % 10
b = temp // 10 % 10
c = temp // 100
sum = pow(a, 3) + pow(b, 3) + pow(c, 3)
if sum == i:
print(i, "是水仙花数") for num in range(100,1000):
a = num % 10
b= num//10 % 10
c= num//100
if num == a**3+b**3+c**3:
print(num)
页:
[1]