if a>9 or a<0 : 运行报错。语法错误,无效语法。

下面这个是用python3.7.0 在win7系统上 编写的一个函数 fun(a,n)
例如3+33+333+33..3(n个3)


def fun(a,n):
    s=1
    sum=1
    for i in range(1,n):
        s=1+s*10
        sum+=s
    y=a*sum
    print(y)

def main():
    while(1):
        a=int(input('请输入a:')
        if a>9 or a<0 :
            print('a的值输入错误,请重新输入')
        else:
            break
    while(1):
        n=int(input('请输入n:')
        if n>9 or n<0:
            print('a的值输入错误,请重新输入')
        else:
            break
    fun(a,n)

if__name__=='__main__':
    main()


程序运行不成功,报错。报错的就是这条 if a>9 or a<0 :
这条语句在我的电脑上单独运行是成功的,放进这个程序里就报错了。奇了怪了。谁能告诉我为什么。

3处错误,input后少了右括号

if后少了空格

img

def fun(a,n):
    s=1
    sum=1
    for i in range(1,n):
        s=1+s*10
        sum+=s
    y=a*sum
    print(y)
def main():
    while(1):
        a=int(input('请输入a:'))
        if a>9 or a<0:
            print('a的值输入错误,请重新输入')
        else:
            break
    while(1):
        n=int(input('请输入n:'))
        if n>9 or n<0:
            print('a的值输入错误,请重新输入')
        else:
            break
    fun(a,n)
if __name__=='__main__':
    main()

a=int(input('请输入a:'))
少了个右括号啊