Python 程序来验证邮政地址格式


假设我们有一个邮政编码,我们必须检查它是否有效。有效的邮政编码具有以下标准

  • 它必须是介于 100000 到 999999 之间的数字(包括两端)

  • 它不能包含多个交替重复的数字对

所以,如果输入像 s = "700035" 一样,那么输出将为 True,因为这在 100000 到 999999 的范围内,也没有连续的数字

为了解决这个问题,我们将按照以下步骤操作 -

  • n := s 的大小
  • nb := 0
  • ok := True
  • 对于 i 从 0 到 n - 1,执行
    • ok := ok 且 s[i] 是数字,则
    • 对于 i 从 0 到 n-3,执行
      • nb := nb + (1 当 s[i] 与 s[i+2] 相同时,否则 0)
  • 返回 (True 当 ok 为 true 且 n 与 6 相同时且 s[0] 与 '0' 不同时且 nb < 2),否则返回 False

示例

让我们看看以下实现以更好地理解

def solve(s):
   n = len(s)
   nb = 0
   ok = True
   for i in range(n):
      ok = ok and s[i].isdigit()
   for i in range(n-2):
      nb += s[i] == s[i+2]

   return ok and n == 6 and s[0] != '0' and nb < 2

s = "700035"
print(solve(s))

输入

"700035"

输出

True

更新于: 12 Oct 2021

926 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始使用
广告