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语句将只显示序列号不能使用,它不会再次提示用户。
如果我能得到任何帮助,我将非常感激
在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")