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 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始使用
廣告
© . All rights reserved.