用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(intN)将数字作为输入,并通过将全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。