用Python编写程序,将给定数字中的所有0替换为5

给定整数N,任务是将数字中出现的所有0替换为“ 5”。但是,前导数字“ 0”不能替换为“ 5”,因为它保持不变。例如,

输入1 -

N = 1007

输出-

1557

说明-给定的数字有2个零,当被“ 5”替换时,输出为1557。

输入- 2 -

N = 00105

输出-

155

说明-由于给定数字以开头的“ 0”开头,可以忽略,并且将中间的0替换为“ 5”后的输出结果为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。