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
广告