我需要确定字符串是否至少为2个字符,否则,他们需要再次输入字符串。代码不起作用,我做错了什么?
例如,我输入“ jason@yahoo.c”:
fpmath
点后只有1个字符,因此它将再次询问用户输入。 我做错了什么?
答案 0 :(得分:2)
not
运算符在and
上有higher precedence,因此必须将表达式放在方括号中。
if not (len(local) >= 2 and len(dns) >= 2):
或者更好的是,完全删除not
以使其更具可读性:
if len(local) < 2 or len(dns) < 2:
编辑:这么说,if
子句不足以进行输入验证,因为它只会检查一次条目。如果用户也第二次输入错误的电子邮件地址怎么办?有关详细说明,请参见this question。