水仙花数
for i in range(100,999):n = i % 10
z = i/100
m = (i-z*100)/10
if i == n**3 + z**3 + m**3:
print(i,"是一个水仙花数")
为什么不能运行啊。。。
本帖最后由 傻眼貓咪 于 2021-10-22 20:50 编辑
for n in range(100, 1000): # 100 至 999(不包括 1000)
a = n//100 # 百位数
b = (n%100)//10 # 十位数
c = n%10 # 个位数
if n == ((a**3) + (b**3) + (c**3)):
print(n) 本帖最后由 jackz007 于 2021-10-22 20:48 编辑
Python 整数除法一定要用地板除 //,普通除法得到的是浮点数
for i in range(100,999):
n = i % 10
z = i // 100
m = (i % 100) // 10
if i == n ** 3 + z ** 3 + m ** 3:
print(i , "是一个水仙花数") jackz007 发表于 2021-10-22 20:46
Python 整数除法一定要用地板除 //,普通除法得到的是浮点数
谢谢 傻眼貓咪 发表于 2021-10-22 20:45
谢谢 傻眼貓咪 发表于 2021-10-22 20:45
老哥,你这个好看懂好多{:5_106:} 傻眼貓咪 发表于 2021-10-22 20:45
for i in range(100,1000):
bai=i//100
shi=i%100//10
ge=i%10
#print(bai,shi,ge)
if bai**3+shi**3+ge**3==i:
print(i) Redeemer 发表于 2021-10-22 21:43
for i in range(100,1000):
bai=i//100
shi=i%100//10
{:5_94:}
for i in range(100,999):
n = i % 10
z = i//100
m = (i-z*100)//10
if i == n**3 + z**3 + m**3:
print(i,"是一个水仙花数")
改成这样就行了,m和z的值要用地板除,不然得出的数是浮点数,就运行不了。
页:
[1]