Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果条件为False,我如何识别该条件?_Python_Python 3.x - Fatal编程技术网

Python 如果条件为False,我如何识别该条件?

Python 如果条件为False,我如何识别该条件?,python,python-3.x,Python,Python 3.x,我需要确定字符串是否至少为2个字符,否则,他们需要再次输入字符串。代码不起作用,我做错了什么 例如,我输入“jason@yahoo.c“: 在点之后,它只有一个字符,因此它将再次要求用户输入。 我做错了什么?非运算符有超过和,因此必须将表达式放在括号中: if not (len(local) >= 2 and len(dns) >= 2): 或者,最好将而不是一起删除,以使其更具可读性: if len(local) < 2 or len(dns) < 2: 如果len

我需要确定字符串是否至少为2个字符,否则,他们需要再次输入字符串。代码不起作用,我做错了什么

例如,我输入“jason@yahoo.c“:

在点之后,它只有一个字符,因此它将再次要求用户输入。
我做错了什么?

非运算符有超过和,因此必须将表达式放在括号中:

if not (len(local) >= 2 and len(dns) >= 2):
或者,最好将
而不是
一起删除,以使其更具可读性:

if len(local) < 2 or len(dns) < 2:
如果len(本地)<2或len(dns)<2:

Edit:也就是说,
if
子句不足以进行输入验证,因为它只检查输入一次。如果用户第二次输入的电子邮件地址也不正确怎么办?有关详细说明,请参见。

运算符有over
,因此必须将表达式放在括号中:

if not (len(local) >= 2 and len(dns) >= 2):
或者,最好将
而不是
一起删除,以使其更具可读性:

if len(local) < 2 or len(dns) < 2:
如果len(本地)<2或len(dns)<2:

Edit:也就是说,
if
子句不足以进行输入验证,因为它只检查输入一次。如果用户第二次输入的电子邮件地址也不正确怎么办?有关详细说明,请参阅。

谢谢,在我将代码更改为while循环后,代码正在运行。非常有用谢谢,代码是在我变成while循环后运行的。很有帮助