編寫一個 Python 程式,將給定數字中的所有 0 替換為 5。


給定一個整數 N,任務是將數字中出現的所有 0 替換為 '5'。但是,以 '0' 開頭的數字不能替換為 '5',因為它保持不變。例如,

輸入-1

N = 1007

輸出

1557

解釋 − 給定數字包含 2 個零,當用 '5' 替換時,結果輸出為 1557。

輸入-2

N = 00105

輸出

155

解釋 − 由於給定數字以 '0' 開頭,可以忽略,並且在用 '5' 替換中間的 0 後,輸出結果為 155。

解決此問題的方法

要將給定數字中的所有 0 替換為 '5',我們可以找到並提取數字的最後一位數字。如果該數字的最後一位數字是 '0',則將其值更改並替換為 '5',然後提取另一位數字。但是,必須忽略給定數字中的任何前導 '0'。因此,我們將首先提取最後一位數字,然後在提取該數字的其他數字時再次呼叫相同的函式。

  • 輸入數字 N。

  • 一個整數函式 convertToFive(int N) 以數字作為輸入,並透過將所有 0 替換為 '5' 來返回修改後的數字。

  • 如果數字的最後一位數字是 '0',則將其值替換為 '5'。

  • 返回遞迴函式,該函式透過除以 '10' 和乘以 '10' 來獲取數字的另一位數字。

  • 返回輸出,該輸出透過將其新增到其中來提取最後一位數字。

示例

def convertToFive(number):
   number += calculateAddedValue(number)
   return number
def calculateValue(number):
   result = 0
   placeValu = 1
   if (number == 0):
      result += (5 * placeValue)
   while (number > 0):
      if (number % 10 == 0):
         result += (5 * placeValue)
      number //= 10
      placeValue *= 10
   return result
print(covertToFive(14006))

輸出

執行以上程式碼將生成以下輸出:

14556

由於給定數字中有兩個 0,因此在替換數字 14006 後,它將變為 14556。

更新於: 2021年2月5日

514 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.