编写一个 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。
广告