【发布时间】:2018-09-23 01:56:06
【问题描述】:
我正在尝试验证用户输入,但是我的问题是,如果第一个 IF 语句为真,则当前代码将不会搜索其余的 ELIF 语句。这意味着如果第一个输入框中有错误,则其余输入框不会得到验证,这是我的代码:
if (len(MemberID)) > 4:
self.MemberIDError.configure(fg = "red")
elif (len(Postcode)) > 7:
self.PostcodeError.configure(fg = "red")
elif (len(Age)) > 3:
self.AgeError.configure(fg = "red")
elif (len(Mass)) > 3:
self.MassError.configure(fg = "red")
elif (Name == '') or (MemberID == '') or (Postcode == '') or (Age == '') or (Gender == '') or (Mass == ''):
self.CreateError.configure(fg = "red")
conn.commit()
else:
List = [Name, MemberID, Postcode, Age, Gender, Mass]
cursor.execute("INSERT INTO memb(Name, MemberID, Postcode, Age, Gender, Mass) VALUES (?,?,?,?,?,?)",(Name, MemberID, Postcode, Age, Gender, Mass))
conn.commit()
或者,如果我将“ELIF”语句更改为“IF”语句,错误的用户输入仍会添加到数据库中。我可以做些什么来确保正确验证用户输入,以及为什么不使用“ELIF”语句。
【问题讨论】:
-
if和elif之间存在差异。 -
那你为什么用
elif呢?而不是第二个if等? -
写多个
if语句而不是elif。 -
这里所有的答案都可以请问题中的缩进错误吗。
-
对每一个都使用 if 语句。如果您有一个程序,其中多个条件可以为 True,您总是希望使用 if 语句以便检查每个条件。
标签: python validation if-statement