验证邮政地址格式的Python程序
假设我们有一个邮政编码,我们必须检查它是否有效。有效的邮政编码有以下标准。
- 它必须是从100000到999999(含)范围内的数字。
-
它不能包含多个交替重复数字对。
因此,如果输入如s =“ 700035”,那么输出将为True,因为它在100000到999999范围内,也没有连续的数字。
要解决这个问题,我们将按以下步骤执行-
- n:= s的大小
- nb := 0
- ok := True
- 对于i在0到n-1范围内,执行
- ok := ok and s [ i ] 是一个数字,那么
- 对于i在0到n-3范围内,执行
- nb := nb +(1如果s [ i ]与s [ i + 2 ]相同,则为1,否则为0)
- 如果是真的时候返回(当ok为真且n与6相同且s [ 0 ]与’0’不同且nb <2),否则返回False
示例
让我们看以下实现,以获得更好的理解
def solve(s):
n = len(s)
nb = 0
ok = True
for i在范围内(n):
ok = ok and s[i].isdigit()
for i在范围内(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