用于验证邮政地址格式的 Python 程序

pythonserver side programmingprogramming更新于 2025/12/23 16:44:17

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

  • 它必须是 100000 到 999999(含)范围内的数字。

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

因此,如果输入为 s = "700035",则输出将为 True,因为它在 100000 到 999999 范围内,并且也没有连续的数字。

为了解决这个问题,我们将遵循以下步骤 −

  • n := s 的大小
  • nb := 0
  • ok := True
  • 对于 0 到 n - 1 范围内的 i,执行
    • ok := ok 且 s[i] 为数字,则
    • 对于 0 到 n-3 范围内的 i,执行
      • nb := nb + (如果 s[i] 与 s[i+2] 相同则为 1,否则为 0)
  • 返回(当 ok 为 True 并且 n 与 6 相同且 s[0] 不与 '0' 相同且 nb < 2 时返回 True),否则返回 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

相关文章


有用资源