x = i / 100
y = (i / 10) % 10
z = i % 100
改成
x = i // 100
y = (i // 10) % 10
z = i % 10
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
def pol():
for i in range(100, 1000):
x = i // 100
y = (i // 10) % 10
z = i % 10
sum = x**3 + y**3 + z**3
if sum == i:
print(i,end="\t")
pol()
print()和括号之间有个空格去掉试试。你也可以加点输出信息,看下sum值的变化情况。
代码中x,y,z的写法有问题,可能导致没有条件符合判断条件,所以没有输出结果:
写成:
x=i//100
y=i//10%10
z=i%10
你的个十百取值有问题
for i in range(10, 1000):
x = i % 10 # 取个位
y = i % 100 // 10 # 取十位
z = i // 100 # 取百位
if (i == x ** 3 + y ** 3 + z ** 3):
print(i, end='\t')