请问为什么这个函数运行不出结果

img

    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()

img

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')