Python中if语句多条件

今天遇到一个问题
代码入下:


age = int(input("输入你的年龄"))
if(age >= 18):
    print("成年")
elif(age <=0 or age>=100):
    print("输入错误")
else:
    print("未成年")

我预想的输出结果是:
输入0 以及100之后 得到 输入错误
输入 0-100之前的数 得到 成年/未成年

实际输出结果

输入-1 得到 输入错误
输入101 得到 成年
其他正常

因为本人刚学完JAVA 目前在自学python 我按照java的思路,在想是不是or 关键字的问题
但是我换成了java中的 || 他会在编译时候就报错,然后我换成了| 得到的结果就是elif部分的代码完全不执行了
哪位小伙伴懂这个


age = int(input("输入你的年龄"))
if (age >= 18) and (age < 100):
    print("成年")
elif (age <=0)or(age>=100):
    print("输入错误")
else:
    print("未成年")

突然想明白,判断条件缺少了,输入大于100的数,这个数也同样满足第一个条件,第一个条件满足之后,后面的条件不会继续执行,所以得不到想要的答案,粗心问题,条件不全=.=

不是语法问题,而是你的逻辑问题。包括你贴出的第二个程序,即使可以运行,也反映出逻辑不清晰
建议:
(1)先判断输入是否合法: 0<age<100 ?
(2)再判断是否成年: age>18?