循环一轮没有出现目标值该然后表示这个条件

刚刚开始学
在做有关水仙花数的问题时遇见的问题
题目要求是输出范围内的水仙花数,如果没有就要输出"无",前面都还好,就是那个“无”,怎么也搞不好

a,b=input()
for i in range(a-1,b+1)
x=i%10
y=i//10%10
z=i//100
if i == x3+y3+z**3:
print(i)
后面就一直试不好了,用else它就一直输出"无"
要求却是只能有一个“无”

if __name__ == '__main__':
    a = int(input())
    b = int(input())
    flag = False
    for i in range(a - 1, b + 1):
        x = i % 10
        y = i // 10 % 10
        z = i // 100
        if i == x**3 + y**3 + z**3:
            flag = True
            print(i)
    if not flag:
        print("无")