Python 为什么可以';在块内添加for循环而不发生缩进错误吗?

Python 为什么可以';在块内添加for循环而不发生缩进错误吗?,python,Python,在for循环之前,您有以下内容: #此if块为空 如果文本[11]!='-': 对于范围(12,14)内的i: 如果不是文本[i]。isdecimal(): 返回错误 返回真值 在python中,空代码块必须使用pass关键字 因此,只需在空if语句中添加一个缩进的pass #这样更好:) 如果文本[11]!='-': 通过 对于范围(12,14)内的i: 如果不是文本[i]。isdecimal(): 返回错误 返回真值 在for循环之前,您有以下内容: #此if块为空 如果文本[11]!='

在for循环之前,您有以下内容:

#此if块为空
如果文本[11]!='-':
对于范围(12,14)内的i:
如果不是文本[i]。isdecimal():
返回错误
返回真值
在python中,空代码块必须使用
pass
关键字

因此,只需在空if语句中添加一个缩进的
pass

#这样更好:)
如果文本[11]!='-':
通过
对于范围(12,14)内的i:
如果不是文本[i]。isdecimal():
返回错误
返回真值

在for循环之前,您有以下内容:

#此if块为空
如果文本[11]!='-':
对于范围(12,14)内的i:
如果不是文本[i]。isdecimal():
返回错误
返回真值
在python中,空代码块必须使用
pass
关键字

因此,只需在空if语句中添加一个缩进的
pass

#这样更好:)
如果文本[11]!='-':
通过
对于范围(12,14)内的i:
如果不是文本[i]。isdecimal():
返回错误
返回真值

为什么在代码中键入“**”?您是否试图对其进行注释?在您的示例中使用
**
的目的是什么?您好,Mag,可能您在代码中混合了空格和制表符?存在缩进错误,因为它没有(如图所示)缩进。此外,如果不是全部(c.isdecimal()表示文本[0:4]中的c),则可以将所有
for
循环替换为
):返回False
以此类推,或者整个方法可以替换为检查正则表达式,如
^\d{4}-\d{4}-\d[3}-\d{3}$
为什么键入“**”在您的代码中?您是否试图对其进行注释?在您的示例中使用
***
的目的是什么?您好,Mag,可能您在代码中混合了空格和制表符?存在缩进错误,因为它没有(如图所示)缩进。此外,如果不是全部(c.isdecimal()表示文本[0:4]中的c),则可以将所有
for
循环替换为
:return False
以此类推,或者整个方法可以替换为检查正则表达式,如
^\d{4}-\d{4}-\d[3}-\d{3}$
如果
如果
是空的,它可以完全删除。
pass
通常用于忽略与
elif
匹配的案例,以避免陷入
else
子句。很抱歉,我写得不好)),感谢您的更正!@Mag没问题,因为这是您的第一次,欢迎to stack overflow!:)@Mag对于未来的问题,请务必学习正确的格式规则-您更有可能得到深思熟虑、格式良好的回答question@BryanC再次感谢你!我会听从你的建议,变得更好)如果
如果
是空的,它可以完全消除。
通过
通常是空的用于忽略与
elif
匹配的大小写,以避免陷入
else
子句中。对不起,我写得不好)),感谢您的更正!@Mag没问题,因为这是您的第一次,欢迎使用堆栈溢出!:)@Mag对于未来的问题,请确保学习正确的格式规则-您更有可能获得回复nses具有深思熟虑的、格式良好的question@BryanC再次感谢你!我会听从你的建议,变得更好
def PhoneNumber(text):
    if len(text) != 14:
        return False
    for i in range(0, 4):
        if not text[i].isdecimal():
            return False
    if text[4] != '-':
        return False
    for i in range(5, 8):
        if not text[i].isdecimal():
            return False
    if text[8] != '-':
         return False
    for i in range(9, 11):
        if not text[i].isdecimal():
            return False
    if text[11] != '-':
        
 ** for i in range(12, 14):
        if not text[i].isdecimal():
            return False **
    return True