python - 为什么我不能在一个块中添加 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
解决方案
就在 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
推荐阅读
- node.js - 在 React 中使用 Infura API 和 ipfs-http-client 检索存储在 IPFS 上的 JPG 图像
- node.js - 我们可以在elasticsearch中将已经存在的索引的ignore_malformed标志设置为真吗
- scheme - 每次 MIT-Scheme 初始化时加载某个文件
- php - 如何在 Doctrine 迁移中从数据数组中插入多行?
- laravel - Maatwebsite 在打开时导出(生成)Excel(Laravel Excel)文件性能问题
- javascript - 我怎样才能让每个项目持续更长时间,直到它的过渡完成?
- r - R中数据框的优化
- c - 关于在实践中正确使用 realloc 的新手问题
- angularjs - 如何使用 Angular JS 在 cshtml 中添加 if else?
- protocol-buffers - 在我自己的带有 Bazel 的 Protobufs 中使用 GoGo Protobuf .proto 源