Python 为什么可以';在块内添加for循环而不发生缩进错误吗?
在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]!='
#此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