刚学Python,可以帮我看看这串代码哪里出错了吗?

编写程序计算学生的平均分。

【输入形式】输入的第一行表示学生人数n;标准输入的第2至n+1行表示学生成绩。
【输出形式】输出的一行表示平均分(保留两位小数)。若输入的数据不合法(学生人数不是大于0的整数,或学生成绩小于0或大于100),输出“illegal input”。


n=eval(input("Input n:"))
s=0
for i in range(1,n+1):
    x=eval(input("Input {}:".format(i+1)))
    s=s+x
if n>0 and 0<=x<=100:
    print("{:.2f}".format(s/n))
else:
    print("illegal input")

把eval换成int,

 
n=int(input("Input n:"))
s=0
for i in range(1,n+1):
    x=int(input("Input {}:".format(i+1)))
    s=s+x
    if not 0<=x<=100:
        print("illegal input")
        exit(0);

if n>0 :
    print("{:.2f}".format(s/n))