提问者:小点点

验证-如果输入错误,再次提示用户输入


while exit :
    serialnumber = int(input("serial number of product :"))
    try:
        if len(str(serialnumber)) == 6:
            break
        else :
            print("serial number cant be used")

        serialnumber = int(serialnumber)
        break
    except ValueError :
        print("Invalid input")
        print()

嗨,伙计们,我一直在尝试执行验证我的输入,所以我正在尝试确保输入不超过6个字符。 我也希望我的程序要求输入,直到它正确,但从我尝试^以上代码,如果我的输入是错误的,if else语句将只显示序列号不能使用,它不会再次提示用户。

如果我能得到任何帮助,我将非常感激


共2个答案

匿名用户

if/else语句后面有break,因此循环即使在打印serial number cant be used之后也会停止。 把那个处理掉。

不需要exit变量,该变量在循环中从不更新,只需使用while true:进行循环,循环重复,直到执行break

while True:
    serialnumber = int(input("serial number of product :"))
    try:
        if serialnumber < 1000000:
            break
        else :
            print("serial number cant be used")
    except ValueError :
        print("Invalid input")
        print()

匿名用户

while True:
    try: 
        sn = int(input("serial number: ")) 
        if len(str(sn)) <= 6:
            break
        print("serial number can't be used")
    except ValueError:
        print("invalid input")