python 判断水仙花数

用python判断输入的数是否是水仙花数:
如果输入小于100或者大于999的数
则输出FALSE
如果输入一个三位数
则判断这个数是否为水仙花数
如果是,则输出TRUE
如果不是,则输出FALSE

num=int(input())
if num<100 and num>999:
    print("False")
else:
    a=num%10
    a=int(a)
    b=num//10%10
    b=int(b)
    c=num//100
    c=int(c)
    if num==a**3+b**3+c**3:
        print(True)
    else:
        print(False)

以上代码为什么运行错误?
输入1时,仍然输出TRUE?

num<100 and num>999改为用 or,怎么会有数既小于100又大于999呢。。。

if num<100 or num>999:

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632