首页 > 解决方案 > 为什么我不能在一个块中添加 for 循环而不发生缩进错误?

问题描述

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

    

标签: python

解决方案


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

    # This if block is empty
    if text[11] != '-':
        
    for i in range(12, 14):
        if not text[i].isdecimal():
            return False
    return True

在python中,空代码块必须使用pass关键字

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

    # That's better :)
    if text[11] != '-':
        pass
    for i in range(12, 14):
        if not text[i].isdecimal():
            return False
    return True

推荐阅读