学生系统录入信息失误

    while True:
        id = input("学号")
        if re.match("/d{4}",id):
            print('输入正确')
        else:
            continue
        name = input("姓名")
        if re.match(".{2,3}",name):
            print('输入正确')

问题如下:
1.学号一直会重复运行到不了姓名那里,问题在哪?
2.这个if语句我想用表达式写出来代码如下

print('输入正确') if re.match("/d{4}",id) else continue

一直标红,如果用print('错误')代替continue则可以运行,continue是不是不能用在这种表达式里,又没有其他的写法or该怎么绕过这种机制?
3,能否用循环嵌套的方法写出来,这个是失败品

        for name,nameformat in [['姓名',".{2,3}"],['学号',".{2,3}"]]:
            a = input(name)
            print('输入成功') if re.match(nameformat,a) else continue

img

写成这样 if re.match("\d{4}",id):

你的学号输入不合法的话会一直需要输入学号的,continue的作用时结束当前循环进入下一个循环,既是不执行continue后面的语句