【发布时间】:2021-03-10 10:53:12
【问题描述】:
编写一个递归函数
replace_digit(n, d, r),用r替换数字n中每个出现的数字d。
replace_digit(31242154125, 1, 0)=>30242054025
我的代码就是这样
def replace_digit(n, d, r):
y=str(n)
if len(y)==0:
return ''
else:
if y[0]== str(d):
return str(r) + replace_digit(str(n)[1:],d,r)
else:
return y[0]+ replace_digit(str(n)[1:],d,r)
但是,我得到的答案是字符串格式。知道如何转换为整数格式吗?我已经被困了很长一段时间了:(
【问题讨论】:
-
返回一个整数(
int(string_value)),并将返回值从递归调用再次转换为字符串。 -
啊,这里有个问题:以
0开头的数字会丢失那个数字。您对处理数字的方向有什么进一步的说明吗? -
不是真的,我只需要得到显示的数字,其中'1'变成'0's
标签: python